mysqldump и кодировка

По умолчанию у mysqldump (как минимум на моем сервере) стоит default-character-set=utf8. Если база, например, в кодировке cp-1251, то mysqldump выдаст результат в нечитабельном виде в тех местах, где встречается кириллица.
Лечится:
mysqldump --default-character-set=latin1
Для уверенности можно зайти в консоль mysql и посмотреть:

mysql> show variables;
+---------------------------------+----------------------------------------+
| Variable_name                   | Value                                  |
+---------------------------------+----------------------------------------+
.....
| character_set_client            | latin1                                 |
| character_set_connection        | latin1                                 |
| character_set_database          | latin1                                 |
| character_set_results           | latin1                                 |
| character_set_server            | latin1                                 |
| character_set_system            | utf8                                   |
| character_sets_dir              | /usr/local/mysql/share/mysql/charsets/ |
....

Можно было включить и cp1251, но поскольку в этой базе не использовалась сортировка, то latin1 меня пока вполне устраивает.

4 Responses to “mysqldump и кодировка”

  1. Michael de`OZ Says:

    переходить от юникода - плохая тенденция. Лучше перекодировать данные из ЦП или КОИ в юникод.

  2. tolix Says:

    2 Michael de`OZ

    Не всегда есть смысл в Unicode. Например, софт писанный под вынь 95/98 скорее всего Юникода не поймет, так как в те времена он не был распостранен. А старое ПО еще довольно плотно используется, особенно в госучереждениях…

  3. Путник Says:

    2tolix - полностью согласен. Кроме того, любой текст для несчастных диалапщиков будет в 2 раза длиннее..

  4. Andrew Says:

    Если задача для вэб то мне кажется лучше сразу данные в кодировке cp1251 если под десктоп то unicode

Оставить комментарий - Feel free to ask me in English

Он появится после того, как будет одобрен. - All comments are pre-moderated.

Внимание! Пожалуйста, не пишите в комментарии [url=... или [url]... - это будет считаться спамом. Если хотите дать ссылку - пишите просто адрес, до 2х на один коммент.
Attention! Please don't use "[url=..." or "[url]..." in comment's body or it will be deleted as spam
If you want to send me a link just type url, up to 2 urls in one comment.

Спасибо за отзыв! Thank you for a comment!