目前的编码,大家都是统一用utf-8,mysql,java 文件
这样一般够了,
但当存特殊字符时,有时候就会有问题,比如苹果的表情符号,mysql 存入就会出现异常:
Incorrect string value: '\xF0\x9F\x98\x80\xF0\x9F
原因分析:http://segmentfault.com/a/1190000000616820
处理方案:
1.java 连接数据库需要指定utf8和Unicode编码
如:
jdbc.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8
注意&要用& useUnicode=true&characterEncoding=UTF-8
2.mysql 配置编码为utf8mb4
一般是三个地方配置
mysql的配置文件,表,,字段:
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci; ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE table_name CHANGE column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
配置参考:http://segmentfault.com/a/1190000000616820