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系列中的排序博文。
你永远不知道未来会有什么,做好当下。技术改变世界,欢迎交流。