3

嗨,我正在 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,'ñ');

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

我已将所有内容配置为 utf8、apache 默认字符集、php ini 和应用程序,现在我正在控制台中进行插入,但我有这些错误,将排序规则更改为西班牙语会有所帮助吗?在 character_set_dir 中,我找不到任何名称为 utf8 的文件。

4

2 回答 2

0

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

编辑:

也许你可以试试

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

看看这对你有什么影响:)

于 2013-08-03T19:57:09.650 回答
0

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

于 2014-12-27T07:14:21.753 回答