mysql - mysqldump 例程字符集编码问题
问题描述
我怎么可能在带有波兰字符(“ęóąśłżźćń”)的mysqldump的 Windows 上转储 MySQL 数据库结构和数据?
到目前为止,我已经设法使用mysqldump.exe <my_settings> --default-character-set=cp1250
. 它似乎至少解决了我的数据插入编码问题,因为我已将其设置为cp1250(Windows 中欧)而不是 latin2。
有问题的短语在我的数据库结构代码中。例如:我所有的存储过程和函数的注释中都包含这些“特殊”字符。我相信,出于某种原因,它们被解释为 utf8 而不是 cp1250。无论我设置什么编码,我的评论都保持不变。
我相信我错过的例程字符集编码必须有其他一些单独的设置。我知道这是有可能实现的,因为我将它与工作台数据导出一起转储并且它以某种方式工作。可悲的是,我无法检查 cnf 文件内容,因为它随后就消失了。
任何帮助将非常感激。特别是排除潜在的脚本转换。
干杯
解决方案
将存储的例程删除SET NAMES
到所需的字符集,重新CREATE
执行例程。
确认SHOW CREATE PROCEDURE name
并查看最后给出的字符集。
推荐阅读
- c# - 外部登录facebook mvc应用
- python - 如何在 discord.py 中使用 on_member_join 和 on_member_remove
- javascript - Magnific-popup enqueue 样式表未在 wordpress 中正确加载
- regex - ocaml Str.full_split 不返回原始字符串而不是预期的子字符串
- javascript - 有没有办法改变 JavaScript 中的 ::after 样式?
- r - 如何将颜色图例添加到具有不同几何图层的 ggplot
- git - GitHub 扩展报告我可以从浏览器访问的相同 repo URL 的 404 错误
- git - 致命:无法锁定 ref 'HEAD':无法创建 'G:/folder/.git/HEAD.lock':文件存在
- javascript - 一个会话的返回路径
- assembly - 为什么即使包含 JUMPDEST 也无法跳入指令?