mysqldump -> utf8?

6 отговора 0 прегледа
#1

mysqldump -> utf8?

Как да накарам mysqldump да плюе в utf8?

Версията е 5.1.49, имам това:

mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)



И пускам ето това:

mysqldump --default-character-set=utf8 -r xxx.sql -u root -p db


Във файла xxx.sql обаче изобилстват маймуни от този тип:

&#208;&#339;&#208;&#184;&#208;&#189;&#208;&#184;&#209;<81>&#209;‚&#208;µ&#209;€&#209;<81>&#209;‚&#208;&#178;&#208;&#190; &#208;&#189;&#208;° &#209;‚&#209;€&#208;°&#208;&#189;&#209;<81>&#208;&#191;&#208;&#190;&#209;€&#209;‚&#208;°, &#208;&#184;&#208;&#189;&#209;„&#208;&#190;&#209;€&#208;&#188;&#208;°&#209;†&#208;&#184;&#208;&#190;&#208;&#189;&#208;&#189;&#208;&#184;&#209;‚&#208;µ &#209;‚&#208;µ&#209;…&#208;&#189;&#208;&#190;&#208;»&#208;&#190;
&#208;&#179;&#208;&#184;&#208;&#184; &#208;&#184; &#209;<81>&#209;&#352;&#208;&#190;&#208;±&#209;‰&#208;µ&#208;&#189;&#208;&#184;&#209;<8f>&#209;‚&#208;°


П.П.: Дира ги кодира, но са някакви главни D-та, с чертички и градуси около тях.


Редактирано от Dakota на

Отговор
в отговор на Dakota #2

Re: mysqldump -&gt; utf8?

Какво е това?

| character_set_database | latin1 |

Смени кодировката:

ALTER DATABASE BazaDanni CHARACTER SET utf8;

Отговор
в отговор на Triglav Zmei #3

Re: mysqldump -&gt; utf8?

Не успях да впечатля особено базата с това.

Иначе интересното е, че като пусна маймунския дъмп на мой сървър от конзола, всичко си е пушка. Като го пусна през phpmyadmin-а на host.bg, обаче, нещата се записват 1/1 с дъмпа, т.е. прецакани.

И така... засега съм ги сложил юнаците на моя си сървър, ама би било добре да ги подкарам където си им е мястото, че иначе язък, че се потих да си припомням какво беше това MySQL...

Отговор
в отговор на Dakota #4

Re: mysqldump -&gt; utf8?

Не успях да впечатля особено базата с това.

Тогава си промени Collation ръчно от Operations на phpmyAdmin на цялата база данни и на всяка таблица по отделно, ако е нужно. И преди да пуснеш дъмпа на сървъра, се увери, че няма вече създадена база данни с това име там.

Отговор
в отговор на Triglav Zmei #5

Re: mysqldump -&gt; utf8?

Колацията и на базата и на таблиците е utf8_general_ci, според phpMyAdmin.

Все пак, нека се върнем на въпроса - защо дъмпа се олива така, че дори с vim да не мога да го разчета (при правилна кодировка на терминала)?

Отговор
в отговор на Dakota #6

Re: mysqldump -&gt; utf8?

Все пак, нека се върнем на въпроса - защо дъмпа се олива така, че дори с vim да не мога да го разчета (при правилна кодировка на терминала)?

Ето тук отговор на подобен въпрос:
[линк]

Отговор
в отговор на Triglav Zmei #7

Re: mysqldump -&gt; utf8?

Това свърши работа, 10х.

Даже не се наложи частта с iconv. Просто е било latin1, колкото и да не се виждаше.

Отговор