错误的字符串值:在 MySQL 上运行的“\x…”错误
Posted
技术标签:
【中文标题】错误的字符串值:在 MySQL 上运行的“\\x…”错误【英文标题】:Incorrect string value: '\x…” error running on MySQL错误的字符串值:在 MySQL 上运行的“\x…”错误 【发布时间】:2012-03-13 15:10:55 【问题描述】:我的 Web 应用程序使用 mvc3 和 mysql。它是多语言的。我无法添加(创建)波斯语帖子,它会在第 1 行的 _title 列上生成不正确的字符串值:'\x...”。
我在连接字符串中添加了 charset=utf8。我在所有列和表上都有字符集 utf8 和排序规则 utf8_general_ci。 当我在我的数据库上运行 Show Variables like '%olla%' 时,它给了我以下信息:
collation_connection utf8_general_ci collation_database utf8_general_ci collation_server latin1_swedish_ci
但它仍然会产生相同的错误。 谢谢你的建议。
【问题讨论】:
在我的插入语句中添加 Convert(_title using(utf8)) 即可解决 【参考方案1】:不确定这是否是您的问题,但您也可以尝试将服务器字符集设置为 utf-8 而不是瑞典语:
http://dev.mysql.com/doc/refman/5.6/en/charset-server.html
【讨论】:
您好,感谢您的回答,我的申请是托管公司的,我无权更改它。但我不认为它是否能解决我的问题。因为我已经在我的数据库上更改了编码(字符集和colleatíon),如果这是问题所在,那么它应该将文本呈现为奇怪的字符。仅当我将文本发布到数据库时才会出现错误。 我已经通过在我的插入语句中添加以下内容来解决它 Convert(_title using(utf8)) Insert into table1 values('k1',convert('[chinese string]' using utf8)); 【参考方案2】:我也遇到过同样的问题,发现这个(使用 charset utf8mb4 而不是 utf8)可能是最干净的解决方案:MySQL bug
【讨论】:
以上是关于错误的字符串值:在 MySQL 上运行的“\x…”错误的主要内容,如果未能解决你的问题,请参考以下文章
未加载库:尝试使用 mysql2 gem 在 OS X 10.6 上运行“rails server”时出现 libmysqlclient.16.dylib 错误
无法在 Mac OS X 上启动 mysql 得到 mysql.sock 连接错误