| Как конвертировать базу данных Joomla в другую кодировку? |
|
|
|
| 12.12.2007 11:00 |
|
Установлена Joomla 1.0.х Оказалось что БД стоит на latin1_swedish_ci Требуется перевести в cp1251_general_ci Ответ: Для коррекции кодировки вашей БД нужно выполнить следующие действия: Cохранить БД с помощью нового дампера 1.0.8 (предварительно установив в dumper.php следующие значения, CHARSET = 'auto', RESTORE_CHARSET = 'forced->cp1251'), желательно для подстраховки убедиться, что в дампе нормально сохранены русские символы, после чего восстановить таблицы этим же скриптом из только, что созданного дампа. Теперь у таблиц будет правильная кодировка, и phpmyadmin будет правильно показывать и сортировать русские символы. Но ваши скрипты скорее всего будут показывать вопросительные знаки, так как в них не указывается кодировка соединения cp1251, а используется latin1. Для того чтобы это исправить, нужно во всех ваших php-файлах, где вызывается функция mysql_connect, обычно перед вызовом mysql_select_db добавить следующую строку: mysql_query("/*!40101 SET NAMES 'cp1251' */") or die("Error: " . mysql_error()); В итоге ваши скрипты будут нормально работать как со старыми версиями MySQL, так и с новыми. Кроме того рекомендуется в с помощью phpmyadmin (или другого MySQL клиента) изменить кодировку по умолчанию для вашей БД, чтобы новые таблицы создавались с правильной кодировкой. В pma для этого нужно выбрать БД, зайти в раздел "Операции" и в выпадающем меню "Сравнения" выбрать правильное (соответствующее вашим данным).
|



