- 本文地址: https://www.yangdx.com/2019/12/74.html
- 转载请注明出处
今天下班前往微信的文件传输助手发了一条消息,是SQL语句,如下:
CREATE TABLE `user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`username` varchar(20) NOT NULL COMMENT '用户名',
`password` char(40) NOT NULL COMMENT '登录密码',
`api_token` varchar(128) NOT NULL DEFAULT '' COMMENT 'token',
`created_at` int(10) unsigned NOT NULL COMMENT '创建时间',
`updated_at` int(10) unsigned NOT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表'
晚上回到家,本想复制这条消息记录在家里的电脑创建数据表,却莫名其妙报错了,如下图:
肉眼观察,明明格式是一样的,怎么就报错了呢?
把这段从微信复制出来的文本保存成文件,然后用 WinHex 查看,发现原本应该是空格 20
缩进的地方,变成了字符 C2 A0
,如下图:
原来,这段SQL格式的文本在微信里进行同步后,原文被“篡改”了!
手动把这个特殊空格替换成常规空格,问题得以解决。
关于特殊字符 C2 A0
的更多阅读:https://blog.csdn.net/qfzhangwei/article/details/89505441
这个我也碰到过,上次别人给 script 标签的时候微信把空格换了,是说 vscode 格式化代码的时候为啥格式很奇怪。
博主回复:
吃一堑长一智!