我有一些用XML格式化的文档。我想将它们的内容(原始文本,格式保留)存储在SQL表格的单元格中,如LONGTEXT
,这样我就可以简单地获取单元格的值并稍后将其加载到网页中。我是通过MySQL Workbench做的。
但是,当我尝试将添加内容应用到我的表格时,出现错误 1366:字符串值不正确:\xE2\x80\xAF1, ...
我尝试将字符集更改为utf-8-general-ci
和cp1251
,但我仍然遇到相同的错误。
另外,我在XML文件中搜索字符串\xE2\x80\xAF1
,但它甚至不在文件中。
有人知道这个字符串是什么吗?
XML文件只有219KB,所以我认为它应该(非常)容易地放在LONGTEXT
条目中。
XML是否使用了可能导致此错误的任何字符?
我错过了另一个错误原因吗?
答案 0 :(得分:0)
您的代码不是文字文本,而是指向NARROW NO-BREAK SPACE。
对于UTF-8,简单字符编码为一个字节,其他字符需要两个字节。
还有一些字符需要三个字节。这些字符往往会导致这样的错误。
在此处查找相关问题:freebcp: "Unicode data is odd byte size for column. Should be even byte size"
答案 1 :(得分:0)
你需要
CHARACTER SET utf8
(或utf8mb4)。