1 (изменено: putnyk, 2008-10-02 13:46:10)

Тема: !кодировка базы-на локалхосте отобр. рус. буквы,на хостинге-кракозяблы

При установке CMS Joomla! на локалхост она создала себе базу - мне дала возможность указать лишь название базы и пароль к ней, кодировку, я так понимаю, выбрала сама.
В phpmyadmin наблюдается кодировка базы - latin1_swedish_ci. На локалхосте на сайте всё работает - символы отображаются по красоте.
При переносе на хостинг сделал бэкап базы и развернул её на хостинге - на сайте символы отображаются коряво.
При создании дампа с базы локалхоста, в его теле наполнение кириллицы тоже отображается кракозяблами.
Версия MySQL на сервере 4, у меня на локалхосте - 5.
Запрос SET NAMES CP1251 на хостинге не срабатывает: ошибка #1193 - Unknown system variable 'NAMES' - по форумам пишут, что из-за версии MySQL.

!!Как привести в порядок кодировку?!!

Заранее благодарен за ответ smile

2

Re: !кодировка базы-на локалхосте отобр. рус. буквы,на хостинге-кракозяблы

putnyk сказал:

При установке CMS Joomla! на локалхост она создала себе базу - мне дала возможность указать лишь название базы и пароль к ней, кодировку, я так понимаю, выбрала сама.

Изначальная кодировка таблиц указывается директивой конфигурационного файла MySQL (my.ini/my.cnf), которая прописывается в разделы [mysql] и [mysqld]:
default-character-set=cp1251

putnyk сказал:

Запрос SET NAMES CP1251 на хостинге не срабатывает

SET NAMES доступен начиная с MySQL 4.1.0.
Куда вы этот запрос вписываете?

putnyk сказал:

!!Как привести в порядок кодировку?!!

1) Выполните на локальном и удаленном сервере запрос и покажите вывод: SHOW GLOBAL VARIABLES LIKE 'char%';
2) Созданный дамп перед импортом необходимо перекодировать. Покажите структуру любой таблицы, в которой есть поля содержащие кириллицу, и то как выглядят в дампе крякозябы.

Если данные не критичны, то можно заново установить скрипт с корректно установленной изначальной кодировкой таблиц: default-character-set имеется в виду.