mysql utf 8和ñ,á,é等字符不插入

时间:2013-08-03 19:47:30

标签: php mysql apache zend-framework utf-8

您好我正在mysql中开发一个应用程序,我的变量的值是这个

 character_set_client     | utf8
 character_set_connection | utf8
 character_set_database   | utf8
 character_set_filesystem | binary
 character_set_results    | utf8
 character_set_server     | utf8
 character_set_system     | utf8
 character_sets_dir       | C:\Program Files (x86)\Zend\MySQL55\share\charsets\
----------------------+-----------------
 Variable_name        | Value
----------------------+-----------------
 collation_connection | utf8_general_ci
 collation_database   | utf8_general_ci
 collation_server     | utf8_general_ci

*所以一切都在utf 8中,但是当我插入像ñ,á,é*这样的字符时

mysql> insert into falla values(null,'ñ');

ERROR 1366(HY000):字符串值不正确:第1行第'FALLA'列的'\ xA4'

我已经配置了所有内容到utf8,apache默认字符集,php ini和aplication,rigth现在我在控制台中进行插入但我有这些错误,将整理更改为西班牙语会有帮助吗?在character_set_dir中我找不到任何类似utf8的文件。

2 个答案:

答案 0 :(得分:0)

'\xA4'表明这是您的控制台编码问题...(在UTF8中,“ñ”应为\xc3\xb1

修改

也许你可以试试

INSERT INTO falla VALUES(null, '\xc3\xb1');

看看这对你有何影响:)

答案 1 :(得分:0)

将表格,数据库,列的 utf8 字符集更改为 utf8mb4 并整理 utf8mb4_unicode_ci