问题:
到MariaDB/bin目录下,使用shit+右键打开powershell,执行mysqldump命令导出ems2库数据为sql文件,命令中设置字符集为utf8,则生成的sql文件中文乱码;设置字符集为gbk,则生成的sql文件中comment注释中文乱码,sql insert数据中的中文无乱码。
命令如下:mysqldump -u root -p --default-character-set=utf8 ems2 > i:/backdb.sql
另外powershell命令行不能使用含有符号'<'的命令导入数据
解决方法:
1.使用HeidiSQL客户端新建一个新数据库xx,并设置字符集utf8_general_ci
2.使用cmd命令行执行命令则无乱码。
直接打开cmd,切换到MariaDB/bin目录下执行命令mysqldump,导出ems2库数据,生成的sql文件无中文乱码;导入sql文件数据到新库xx中也无乱码。
导出数据
I:\Program Files\MariaDB 10.3\bin>mysqldump -u root -p --default-character-set=utf8 ems2 > i:/backdb.sql
使用下面这句无需手动输入密码:
mysqldump -u root --password=aaa --default-character-set=utf8 ems2 > i:/backdb.sql
导入数据
I:\Program Files\MariaDB 10.3\bin>mysql -u root -p --default-character-set=utf8 xx < i:/backdb.sql