Увы, я уже что мог — то написал, больше информации на эту тему у меня, к сожалению, нет. Вы попробовали то, что я описывал выше? _________________ Дмитрий
Да, пробовал.
В итоге помогло добавление параметров кодировки (cp1251) в пхп-скрипт, а данные в базе - в utf8. Только так всё на сайте отображается нормально.
Нде...
И все же вопрос с кодировкой БД актуален. К примеру, имеется база форума, которая с мускуля 3.23 сохраняется в cp1251. Сохраняю базу Sypex Dumper'om (бывший Site Keeper Dumper). На EOMY кодировка стоит utf8. Оки, с помощью Macromedia Dreamweaver база перегоняется в оный юникод. Однако после установки базы на форуме все равно выдаются вопросики. При этом языковые файлы, также рекодированные в юникод, отображаются без проблем. База же корректно отображается в ПхпАдмине.
Если прописать в скрипте использования БД
mysql_query('SET NAMES UTF8');
mysql_query('SET CHARACTER SET UTF8');
mysql_query("SET collation_connection='utf8_general_ci'");
то вопросики превращаются в текст. Но при этом нарушается работа форума. Да и количество запросов к серверу ведь возрастает, а форум и так в этом плане скромностью не страдает.
Возможно ли, что без указания чарсета при использовании БД, данные выдаются пользователю в другой кодировке? К примеру, чарсет сервера и ряд других переменных стоят latin1.
Также вопрос к хостеру - а можно ли поднять отдельный сервер для русских пользователей с используемой кодировкой cp1251?
Если у кого-то имеется успешный опыт переноса БД с кодировкой в cp1251 на данный хостинг, отпишитесь, пожалуйста, как Вы решили проблему с конвертацией данных.
Что собственно необходимо сделать при переносе базы данных из mysql ранних версий в mysql-4.1:
- перед заливкой бэкапа MySQL со старого хостинга на EOMY в самом начале дампа добавляем
Код:
SET collation_connection = cp1251_general_ci;
SET collation_database = cp1251_general_ci;
SET collation_server = cp1251_general_ci;
SET character_set_client = cp1251;
SET character_set_connection = cp1251;
SET character_set_database = cp1251;
SET character_set_results = cp1251;
SET character_set_server = cp1251;
- заливаем на EOMY, рекомендую пользоваться Sypex Dumper'om, это большая экономия Вашего времени по сравнению с phpMyAdmin
- скачиваем дамп базы с EOMY обратно (таким образом появляется новый параметр CHARSET в таблицах, данные в INSERT теперь в utf-
- ищем файлы, которые отвечают за подключение к БД в Вашем скрипте и прописываем там в правильном оформлении
SET NAMES cp1251;
Дедушка Стри! Привет, земеля! Я тоже из Луганска. Хотя эт не так важно. Нашел, как исправить данный глючок. Ты писал:
Дедушка Стри писал(а):
SET collation_connection = cp1251_general_ci;
SET collation_database = cp1251_general_ci;
SET collation_server = cp1251_general_ci;
SET character_set_client = cp1251;
SET character_set_connection = cp1251;
SET character_set_database = cp1251;
SET character_set_results = cp1251;
SET character_set_server = cp1251;
Да - отличная идея, и все бы хорошо, да только в Слайде (ЦМС такая) не помогает предложенная тобой вставка кода в функции соединения с БД. И я придумал другое решение:
Просто когда мы грузим на сервер дамп, то лучше грузить его через раздел "Импорт", а не "SQL". В таком случае нам нужно загружать на сервак файл дампа. Дамп у нас, как уже говорилось в win-1251. Смотрим в разделе "Импорт": Кодировка файла и меняем с изначально установленного UTF-8 на нормальный руссич - cp1251.
Товарищи, просьба отписаться у кого что получается и каким образом.
larstas, предложенное решение универсальное.
Возможно, в файлах SLAED, отвечающих за подключение к БД, Вы неправильно, либо же не там где надо прописали SET NAMES cp1251.
Дедушка Стри, ну ты мна обижаешь. Я вроде бы как бы сам программер и сам могу сделать класс для работы с БД. Поэтому неправильное вписание кода исключено. Я же просто нашел новый способ для избежания этой распространенной ошибки.
Кстати, это стоило мне установки МуСКуЛа той же версии, что и у хостера и МуАдмина той же версии. ВСе прекрасно
Спасибо, кстати за помощь.
Товарищи!
Подскажите получайнику ...
В CMS установил кодировку UTF8
В phpMyAdmin тоже UTF8
Когда редактирую и просматриваю новость все отображается коректно, когда отправляю новость на сайт, там вместо русских символов "????"
Как быть?!
У меня самописный сайт расчитаный как раз на UTF-8
но всё равно вопросительные знаки вместо буковок в гостевой. Сейчас решаю.
http://CFreeLancer.Zoxt.Net
Всё просто!
Сначала у меня была та же проблема что и у Вас.
Я её попраил именно этим способом, дело в том, что нужно задавать кодировку не только входным параметрам но и выходным - так надёжнее.
Всем удачи и приятного дня!