1 (изменено: Виктор, 2007-05-08 19:30:49)

Тема: Неверное отображение кодировки исходного текста при импорте базы MySql

Зравсвтуйте Уважаемые гуру.
У меня проблема следующего характера.
Есть экспортированные базы данных в формате ***.sql без сжатия.
При просмотре в "Блокноте" - видно что файл экспортирован чисто. Все тексты корректно отражаются в Русской кодировке.
При попытке импортировать подобную базу средствами phpMyAdmin и установить её на локальном компьютере - все получается -
База импортируется.
Таблицы создаются. Только в непонятной кодировке. Одни знаки вопроса.
Выглядит так-
  id title view_lang
      1 ?????? ? ??????????   
      2 ????? ????? ???????   
      3 ????-???????   
      4 ????-??????   
      5 ??????? ????????????   


Вот базовые установки.

phpMyAdmin 2.6.1
MySQL 4.1.8-max

character set client  cp1251  cp1251 
character set connection  cp1251  cp1251 
character set database  cp1251  cp1251 
character set results  cp1251  cp1251 
character set server  cp1251  cp1251 
character set system  utf8  utf8 
character sets dir  \usr\local\mysql4/share/charsets  \usr\local\mysql4/share/charsets 
collation connection  cp1251_general_ci  cp1251_general_ci 
collation database  cp1251_general_ci  cp1251_general_ci 
collation server  cp1251_general_ci  cp1251_general_ci 

При импорте выбираю кодировку cp1251_general_ci
Но неоднократные попытки не приводят к положительному результату. Все тексты побиты.
В столбце "Сравнение" у всех таблиц почему то отражается кодировка latin1_swedish_ci

Подскажите пожалуйста в чем может быть причина? И как её устранить.
Очень нужно запустить php сайт на локальной машине.

2

Re: Неверное отображение кодировки исходного текста при импорте базы MySql

Виктор
Здравствуйте, тезка. smile

Проблема именно в том, что кирилица лежит в таблицах с кодировкой latin1, а должна в cp1251. Попробуйте в дампе заменить все latin1 на cp1251, и затем импортировать его выбрав кодировку дампа cp1251.

Сопоставление (collation) и кодировка (character set) - разные вещи.