Тема: Глобальная проблема с кодировкой!
Захотели как-то перевести сайт с кодировки cp1251 в кодировку utf-8. Это давно было... В итоге мы это сделали каким-то образом.. Вроде взяли дамп и конвертнули файл дампа в кодировку utf-8 и вернули это дело в базу. Вроде это было проблемно. Потом начались проблемы сразу с сайтом (появились вопросики), но путем перекодировки (вроде и только) пхп файлов сайта в кодировку utf-8 всё заработало хорошо. Я вообще являюсь вторым админом на сайте, но доступ у меня есть к большей части сайта.
Вдруг на сайте вижу где-то глюки... нету буквы "ш" и "и".. крокозябры вместо них короче. Решил разобраться в чём проблемы. Поставил короче phpMyAdmin и там вижу вместо русского вот такие КонцерС. Многочисленные манипуляции с кодировкой никакого результата не дают. Я уже отчаялся. Обратился к хостеру. Хостер мне ничем не помог...
Переписка по мейлу и асе:
----------------------------------------------------
08.04.2009 19:05:31, Yutex
просто кодировка БД utf8
08.04.2009 19:05:40, Yutex
пхпмайдамин отображает только cp1251
09.04.2009 01:00:23, Yutex
потмоу что умолчанию стоит cp1251 на всём сервере
-----------------------
Здравствуйте.
К сожалению, но для её решения нужно перевести весь сервер в другую
кодировку, что неприемлемо.
--------
Здравствуйте.
К сожалению, но первести весь сервер в кодировку utf8 мы не будем иначе все
остальные сайты перстанут работать.
Сайт в принципе у меня отображается корректно (в результате каких то манипуляций в пхпмайадмин с кодировкой данные сайт стал принимать правильно т.е. без появления новых "ш" и "и"), но видно что перекодировка сайта была сделана неудачно. База большая довольно. Я не знаю что делать дальше. Мне нужен сайт в кодировке utf8 и пхпмайадмин в кодировке utf8, чтобы русский текст отображался и корректно обробатывал данные. Но у меня большой клубок проблем с кодировкой. В принципе я понимаю, что хостер не поддерживает utf, но ведь сайт сейчас работает в кодировке utf8.
Вот привожу вам данные:
phpMyAdmin - 2.11.9.5 - свой установлен в одну из папок сайта
в корне сайта есть .htaccess с настройкой AddDefaultCharset UTF-8
движок сайта spaizNuke (cтарый).
Функция подключения к базе через spaizNuke :
[mono]function sql_connect($host, $user, $password, $db)
{
$dbi=@mysql_connect($host, $user, $password) or die("Невозможно создать соеденение с базой ! Проверьте данные необходимые для соеденения с базой MySQL ! Данные находятся в файле config.php");
@mysql_select_db($db) or die("Найти базу с таким именем не удалось!");
return $dbi;
break;;
}
[/mono]
Язык при входе в phpMyAdmin выбирал во всех кодировках
Главная страница phpMyAdmin - 2.11.9.5:
[mono]MySQL-кодировка: UTF-8 Unicode (utf8)
Сопоставление соединения с MySQL: cp1251_general_ci
[/mono]
Серверные переменные и настройки:
[mono]character set client utf8
(Глобальное значение) cp1251
character set connection cp1251
character set database cp1251
character set results utf8
(Глобальное значение) cp1251
character set server cp1251
character set system utf8
character sets dir /usr/share/mysql/charsets/
collation connection cp1251_general_ci
collation database cp1251_general_ci
collation server cp1251_general_ci [/mono]
Запрос SHOW GLOBAL VARIABLES LIKE 'char%';
character_set_client cp1251
character_set_connection cp1251
character_set_database cp1251
character_set_results cp1251
character_set_server cp1251
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
В базе, таблице сравнение везде и ко всему стоит cp1251_general_ci
Помогите пожалуйста! Заранее всем спасибо!