【问题标题】:mysqldump routines charset encoding problemmysqldump 例程字符集编码问题
【发布时间】:2021-05-15 10:56:35
【问题描述】:

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

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

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

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

任何帮助将不胜感激。尤其是排除潜在的脚本转换。

干杯

【问题讨论】:

标签: mysql character-encoding routines cp1250


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 1970-01-01
    • 2011-03-24
    • 1970-01-01
    • 2013-08-30
    • 1970-01-01
    相关资源
    最近更新 更多