LINUX.ORG.RU

кодировка в mysql


0

0

Помогите, пожалуйста, разобраться с кодировкой mysql. Есть mysql (5.0.51):

mysql> show variables like 'character_set%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     | 
| character_set_connection | latin1                     | 
| character_set_database   | utf8                       | 
| character_set_filesystem | binary                     | 
| character_set_results    | latin1                     | 
| character_set_server     | utf8                       | 
| character_set_system     | utf8                       | 
| character_sets_dir       | /usr/share/mysql/charsets/ | 
+--------------------------+----------------------------+

Есть там табличка с collation utf8_general_ci. При выборке с сортировкой по текстовому полю сортировка идет не по алфавиту, но символы отображаются правильно. Как вообще это все поправить? Я подозреваю что надо сдампить в одной кодировке, потом сделать рестор в другой, но вот в каких именно я что-то туплю определить.

★★★★★

Данные в таблице в "правильной" кодировке? Если после коннекта сделать set names utf8, отсортирует?

anonymous
()
Ответ на: комментарий от anonymous

если сделать set names utf8 будут вообще кракозябры. Я не знаю в какой кодировке там внутри данные.

provaton ★★★★★
() автор топика
Ответ на: комментарий от provaton

Сделай дамп таблицы и попробуй что-то вроде

$ cat dump.sql | iconv -f utf8 -t latin1 | iconv -f utf8 -t latin1

Возможно в другом порядке кодировки, возможно должна фигурировать cp1251 =) Сложно заочно сказать, в чем писали данные.

anonymous
()
Ответ на: комментарий от anonymous

> Сложно заочно сказать, в чем писали данные.

Мне очно это сделать не получается :)

provaton ★★★★★
() автор топика
Ответ на: комментарий от provaton

>если сделать set names utf8 будут вообще кракозябры

Значит внутри данные записаны не в юникоде. Лечится только sql-дампом в «читабельной» кодировке, опицонально выправлением нужных чарсетов в дампе и втягиванием дампа уже в правильной кодировке коннекта.

KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.