windows环境mysqldump导出乱码

windows环境mysqldump导出乱码

在Windows下用navicat编辑和测试迁移程序(sql),所有脚本Ready后想弄个脚本做版本管理

程序分为两个部分:

  1. navicat的查询脚本
  2. 数据库中的sp或function

查询脚本好弄,做个软连接就行了,sp和function需要导出到当前目录,结果怎么弄都是,sp的注释都是乱码,导入回来就看不明白是啥了

$command = "D:\app\mysqlclient\mysqldump -R -ndt $mysqlDatabase -h $target -P $netPort -u $mysqlUser -p'$mysqlPassword' --default-character-set=utf8 > scripts/migrate_SP_GT.sql"
Invoke-Expression $command

查了一大圈,全是胡说,加了default character根本没用

只能把bing搜索改成搜英文,果然大法还是管用:

According to this forum thread, the culprit is the > filename redirection on Windows, which seems to have trouble with UTF-8 characters.

Try using the --result-file parameter instead.

结论:

$command = "D:\app\mysqlclient\mysqldump -R -ndt $mysqlDatabase -h $target -P $netPort -u $mysqlUser -p'$mysqlPassword' --default-character-set=utf8 --result-file scripts/migrate_SP_GT.sql"
Invoke-Expression $command
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容