mysql - Mysqldump creates a dump with a broken encoding -
when i'm trying make full dump of database follows:
mysql --default-character-set=utf8 -uuser -p database -r output.sql
it creates utf-8 file international data (chineese,spanish,russian) corrupted follows(it's russian part of dump):
(1,'Ð<9e> наÑ<81>')
however, when try dump 1 table, works fine: mysql --default-character-set=utf8 -uuser -p database table_name -r output.sql
i don't quite understand causes issue possible variables set utf-8:
show variables "collation_database"; +--------------------+-----------------+ | variable_name | value | +--------------------+-----------------+ | collation_database | utf8_general_ci | +--------------------+-----------------+ show variables "character_set_database"; +------------------------+-------+ | variable_name | value | +------------------------+-------+ | character_set_database | utf8 | +------------------------+-------+
all tables have same charset/collation. there following settings in my.cnf
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_general_ci init-connect='set names utf8' character-set-server = utf8
and finally, locale set utf-8 well. problem of issue? i'm pretty sure it's dumb issue i'm out of ideas. appreciate assistance greatly.
mysqldump -uusername -ppassword -c -e --default-character-set=utf8 --single-transaction --skip-set-charset --add-drop-database -b dbname > dump.sql
then in shell copy , edit
shell> cp dump.sql dump-fixed.sql shell> vi or vim dump-fixed.sql :%s/default character set latin1/default character set utf8 collate utf8_general_ci/ :%s/default charset=latin1/default charset=utf8/
then save file
Comments
Post a Comment