You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

咨询:MySQL为何无法识别从Word粘贴的单、双引号?

为什么Word复制的引号在MySQL里无法识别?

这个问题我之前帮同事排查过,核心原因其实是Word的智能引号机制在搞鬼!

具体原因:

  • Word默认开启了「智能引号」功能,它会把你输入的标准直引号('")自动转换成弯引号(‘’、“”)。这些弯引号属于Unicode中的特殊字符(比如左单引号U+2018、右单引号U+2019),而MySQL只识别ASCII标准的直引号(U+0027单引号、U+0022双引号),所以复制到MySQL后就会触发“无法识别字符”的报错。
  • 至于其他字符能正常识别,是因为Word只会对引号这类标点做智能转换,像SQL关键字(SELECTFROM)、字段名、数字、普通中文/英文文本等,都是标准ASCII或通用Unicode字符,不会被Word修改,所以MySQL能正常解析。

解决办法:

  • 临时应急:把Word里的SQL语句先粘贴到纯文本编辑器(比如系统自带的记事本、Notepad++),纯文本环境会自动把弯引号转成标准直引号,之后再复制到MySQL执行就没问题了;也可以在纯文本编辑器里用替换功能,批量把弯引号换成直引号。
  • 永久解决:关闭Word的智能引号功能。打开Word的「选项」→「校对」→「自动更正选项」,分别在「自动套用格式」和「键入时自动套用格式」标签里,取消勾选「直引号替换为弯引号」,这样以后在Word里写的引号就是MySQL能识别的标准直引号了。

内容的提问来源于stack exchange,提问作者Yu Wang

火山引擎 最新活动