2.陈治瑄问题,汉字写入数据库报错。这个汉字有什么特殊的吗?

 

报出的执行异常是: SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xE7\x91\x84' for column 'xingming' at row 1

这个时候,我们查看执行的语句是:

UPDATE `cj_student`  SET `xingming` = '陈治瑄' , `shenfenzhenghao` = '210202200210018214' , `sex` = 1 , `peiyangxiaolei` = 1230201 , `update_time` = 1630582155  WHERE (  `id` = 23 ) AND `cj_student`.`delete_time` IS NULL。

这个时候,我们直接在数据库中执行这个语句。

 

 

 同样报出这个错误。

这说明数据库中写不进去陈治瑄。后续我把陈治瑄改为别的名字就可以了。

 

查看数据库中存储的xingming字段,使用的是gb2312编码。

gb2312不支持瑄字吗?果然,把瑄字去掉就可以了。

或者改为UTF8。但是改为UTF8后,对于中文的排序就不能按拼音排序了。

见我之前的THINKPHP系列中的排序博文。

 

posted @ 2021-09-02 19:45  秦皇汉武  阅读(73)  评论(0编辑  收藏  举报