0

Разрабатываю собственную CMS систему, всё практически готово, но есть одно "но". Дело в том, что изначально система была написана в кодировке cp1251, а после переведена в utf-8 (не только мета тег изменил, но и кодировку файлов).

На хостинге ho.ua система работает, однако кодировка на выходе cp1251 и мы видим там кракозябры (уж так настроен веб сервер). На хостинге 1gb.ru вообще пустая белая страница возвращается (показать, к сожалению, не могу). Вот ссылка, как работает на домашнем компьютере.

Если есть время и возможность посмотреть систему, тыкнуть носом в ошибку или помочь с кодировкой, то прошу... Вот ссылка на архив с системой, чтобы установить, нужно первым делом распаковать архив, а после установить права доступа (0777) для файла install_master.php и открыть файл install_wizard.html и следовать инструкциям установщика. И ещё парочка плагинов для неё:

  1. Опросы
  2. Оценка страниц (rating)
1
  • 2
    Не, качать и разбираться лениво, чесслово. =) Возможные причины назвал.
    – knes
    18 авг 2011 в 5:06

2 ответа 2

4
  1. апач настроен на win-1251 (в .htaccess добавьте AddDefaultCharset utf-8)
  2. БД в кодировке win-1251
  3. В каком-то одном файле не поменяли кодировку.

Вроде все.

1

Кроме мета-тэга и кодировки файлов часто приходится специально посылать заголовок с кодировкой

header("Content-type:text/html;charset=utf-8");

Например, на мастерхосте без этой строчки автоматом отправляется 1251. Еще надо проверить кодировку БД и, при необходимости, сделать запрос SET NAMES.

2
  • Заголовки отправлял, не помогло, подскажите текст запроса SET NAMES, и можно ли его добавить после строчек соединения с базой, или же ею заменить следующие? @mysql_query("SET character_set_client = $defaul_chars_4_base_connect"); @mysql_query("SET character_set_connection = $defaul_chars_4_base_connect"); @mysql_query("SET character_set_results = $defaul_chars_4_base_connect"); @mysql_set_charset($defaul_chars_4_base_connect); 18 авг 2011 в 6:34
  • Выражение SET NAMES 'x' делает то же, что и три последовательных: SET character_set_client = x; SET character_set_results = x; SET character_set_connection = x; Так что тут у вас все впорядке. А в какой кодировке отображается сайт? Это можно проверить либо опытным путем, подбирая в браузере кодировку отображения, либо загнав в любой декодер
    – knes
    18 авг 2011 в 7:05

Ваш ответ

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge you have read our privacy policy.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.