大家。
在我的工作中,对于本地测试,我(必须)在Windows 7上使用xampp(使用MariaDB)。
测试和生产服务器运行linux(LAMP,“M”代表MariaDB)。
我一直在尝试使用mysqldump从Develop服务器导出数据。数据实际上是导出的,但是当运行aplicaction时,响应中的数据无效,我的意思是:数据字段是“”而不是通常的json对象。
尝试使用一个表中的某些值时,我发现charset存在问题,因为当用“A”更改“Á”字符时,所有数据都是正确的。
我已经尝试了几个小时的mysqldump的许多选项,我找不到正确导入数据的方法。
我试过了:
mysqldump --single-transaction --default-character-set=utf8 --compatible=mysql40 -u 'imtheman' -p 'myDB' > MyExport.sql
mysqldump --single-transaction --no-create-db --no-create-info --default-character-set=utf8 --compatible=mysql40 -u 'imtheman' -p 'myDB' > MyExport.sql
mysqldump --single-transaction --no-create-db --no-create-info --skip-comments --skip-add-locks --default-character-set=utf8 --compatible=mysql40 -u 'imtheman' -p 'myDB' > MyExport.sql
mysqldump --single-transaction --skip-comments --skip-add-locks --default-character-set=utf8 --compatible=mysql40 -u 'imtheman' -p 'myDB' > MyExport.sql
mysqldump --single-transaction --skip-comments --skip-add-locks --default-character-set=utf8 --compatible=ansi -u 'imtheman' -p 'myDB' > MyExport.sql
mysqldump --single-transaction --skip-comments --skip-add-locks --default-character-set=utf8 -u 'imtheman' -p 'myDB' > MyExport.sql
我尝试用phpmyadmin(xamp)和mysql-workbench导入它。所以我不知道还能做什么。
提前致谢。
答案 0 :(得分:0)
您是否有充分的理由使用--compatible=mysql40
?有了它,就不会发出命令来建立字符的编码。
计划A:删除该选项。
计划B:在目标计算机上,确保在加载前建立字符集。
计划B1:在my.cnf文件中设置内容
计划B2:
mysql ...
SET NAMES utf8;
source dumpfile.sql
由于MariaDB在4.0之后很久才存在,我希望这个设置是不必要的。