我正在使用CKEditor,似乎可以使用正确的按键将以下unicode字符插入到textarea中。
U + 200B \ xe2 \ x80 \ x8b ZERO WIDTH SPACE
现在,当我尝试将其保存到MySQL数据库时,我收到以下错误: -
MySql.Data.MySqlClient.MySqlException
Incorrect string value: '\xE2\x80\x8B </...' for column 'Content' at row 1
从我所看到的,我有几个选择: -
所以我的问题是解决这个问题的最佳选择是什么?
答案 0 :(得分:0)
显然您的charset
是Latin1。
您不应该尝试在Latin1列中存储unicode数据。你可能不得不改变它:
ALTER TABLE campaignemail MODIFY Content LONGTEXT CHARACTER SET utf8
当你这样做时要小心,如果你错误地存储了“unicode-pretending-to-latin1”,这可能会给你的表值带来麻烦。
BTW charset
是用于从“字母”(严格来说:代码点)映射到“字节”的编码。
collation
定义各种“字母”之间的相对顺序。如果用于搜索/排序列。