首页 > 代码库 > 在查MySQL 1366的错误原因

在查MySQL 1366的错误原因

在查MySQL 1366的错误原因时,发现一些有趣的回答。

不过,还是有人给出了比较好的解决方法

    1. MySQL 1366错误大致描述如下  
    2.   
    3.    1. SQL Error: 1366: Incorrect string value: "\xE8\xAF\xA6\xE7\xBB\x86…" for column "address" at row 1  
    4.   
    5. 解决办法:检查数据库此字段的字符集与整理字符集是否与SQL语句传递数据的字符集相同;不相同则会引发MySQL1366错误。  
    6.   
    7. 修改MySQL该字段的字符集与整理规则即可。假设数据表为phplamp, SQL语句的字符集为utf8,出错的字段为address:  
    8. MySQL 1366 错误解决办法  
    9.   
    10.    1. #检查数据表所有字段的状态  
    11.    2. ->show full columns from phplamp;  
    12.    3. #发现address字段的Collation项非utf8,修改它!  
    13.    4. ->alter table phplamp change name name varchar(100) character set utf8 collate utf8_unicode_ci not null default ‘‘;  
    14.   
    15. 修改完字段的字符集后可以再使用show full columns from table_name命令检查一下,以确保万无一失。假如您的SQL字符集为GBK或是GB2312或是其它的话,只需要将数据表字段的字符集更改为其相应的编码即可。  
    16.   
    17. 再送上一个MySQL的命令:  
    18. 修改数据表的字符集与整理  

在查MySQL 1366的错误原因