正 文:
最近飘易碰到这样的一个MYSQL错误,在insert数据时报错“Incorrect string value: '\x”,折腾了几次,发现就是编码问题。
首先,我的网页是 utf-8 编码,通过 3种方式已经强制了:
1, header('Content-Type: text/html; charset=utf-8');
2, <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
3, 网页源码强制为 UTF-8 无BOM格式。
但是在获取源目标网页(编码为:ISO-8859-1)时遇到特殊符号,如圆角下的符号 360º 这个度数时,就提示错误“Incorrect string value: \x”了。
这种情况下的解决方法:使用 utf8_encode 函数 将 ISO-8859-1 编码的字符串转换为 UTF-8 编码即可。
飘易遇到的问题和这位仁兄有点像:
Incorrect string value:
MYSQL按装时选的字符为GB2312。然后在PHP的程序中也有mysql_query("set names gb2312");
添加中文英文都正常。可是总有人会从别的网站上复制或自己输入一些字符为五笔圆角输入。这时就出现
Incorrect string value: 'xA9pxC1xF7xB6xAF...' for column 'pdetails' at row 1
不为圆角输入就是正常的。不能添加进字符。大家帮帮忙。应怎么解决了?那个字段为 pendetails text gb2312_chinese_ci
解决方式:
将该表的字符集从gb2312_chinese_ci修改为gbk_chinese_ci
这是由于字符集原因造成的。
只是,我的不涉及中文编码而已。