错误的字符串值:在 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%' 时,它给了我以下信息:

collat​​ion_connection utf8_general_ci collat​​ion_database utf8_general_ci collat​​ion_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 连接错误

qt的软件使用了mysql,在本机可以使用但是发布到别的机器上出现运行错误,driver not l

在 Mac OS X 上启动 MySQL 的问题

在 pyqtgraph 中的 x 轴上显示字符串值

从 MS SQL-Server 迁移数据库时出现 MYSQL Workbench“不正确的字符串值”错误