Skip to content

Dumping and importing from/to MySQL in an UTF-8 safe way

In a nutshell: to avoid your shell character set from messing with imports, use -r to export and SOURCE when importing.
Dumping safely

Do not do this, since it might screw up encoding:

mysqldump -uroot -p database > utf8.dump # this is bad

Better do:

mysqldump -uroot -p database -r utf8.dump

Note that when your MySQL server is not set to UTF-8 you need to do mysqldump –default-character-set=latin (!) to get a correctly encoded dump.

If you only want to dump the structure without data, use

mysqldump -uroot -p –no-data database -r utf8.dump

Importing a dump safely

Do not do this, since it might screw up encoding:

mysql -u username -p database SOURCE utf8.dump