实习任务三-修改bug:支持非常规的中文字符

问题描述:

      前端用户在插入五笔打出的非常规的中文字符的时候,该数据提交给数据库的时候,由于数据库的该字段是采用UTF-8的编码,所以不能识别该字符,所以报出了插入错误的sqlexception。

解决的办法:将数据库中该字段的编码改成utf8mb4即可。

拓展:

    1.mysql的utf8并不是严格意义上的utf8,他只支持三个字节的,而utf8支持的是四个字节的。建议数据库中不要使用utf8,直接使用utf8mb4

      错误提示中的字符0xF0 0x9F 0x98 0x84 ,这对应UTF-8编码格式中的4字节编码(UTF-8编码规范)。正常的汉字一般不会超过3个字节,为什么为出现4个字节呢?实际上是它对应的是智能手机输入法中的表情。那为什么会报错呢?因为mysql中的utf-8并不是                       真正意义上的utf-8,它只能存储1~3个字节长度的utf-8编码,如果想存储4个字节的必须用utf8mb4类型。不而要使用utf8mb4类型,首先要保证Mysql版本要不低于 MySQL 5.5.3。

    2.mysql中如何修改对应的字段的编码格式呢

      选择改变表即可

    3.核对中配的utf8mb4_bin是为了不区分大小写。

posted @ 2019-01-04 16:52  zhaogot  阅读(166)  评论(0编辑  收藏  举报