首页 > 解决方案 > mysqldump 例程字符集编码问题

问题描述

我怎么可能在带有波兰字符(“ęóąśłżźćń”)的mysqldump的 Windows 上转储 MySQL 数据库结构和数据?

到目前为止,我已经设法使用mysqldump.exe <my_settings> --default-character-set=cp1250. 它似乎至少解决了我的数据插入编码问题,因为我已将其设置为cp1250(Windows 中欧)而不是 latin2。

有问题的短语在我的数据库结构代码中。例如:我所有的存储过程和函数的注释中都包含这些“特殊”字符。我相信,出于某种原因,它们被解释为 utf8 而不是 cp1250。无论我设置什么编码,我的评论都保持不变。

我相信我错过的例程字符集编码必须有其他一些单独的设置。我知道这是有可能实现的,因为我将它与工作台数据导出一起转储并且它以某种方式工作。可悲的是,我无法检查 cnf 文件内容,因为它随后就消失了。

任何帮助将非常感激。特别是排除潜在的脚本转换。

干杯

标签: mysqlcharacter-encodingroutinescp1250

解决方案


将存储的例程删除SET NAMES到所需的字符集,重新CREATE执行例程。

确认SHOW CREATE PROCEDURE name并查看最后给出的字符集。


推荐阅读