登录 |  注册 |  繁體中文


修改MySQL数据库的编码为utf8mb4

分类: 数据库 颜色:橙色 默认  字号: 阅读(1035) | 评论(0)
utf-8编码可能2个字节、3个字节、4个字节的字符,但是MySQL的utf8编码只支持3字节的数据,而移动端的表情数据是4个字节的字符。如果直接往采用utf-8编码的数据库中插入表情数据,Java程序中将报SQL异常:
java.sql.SQLException: Incorrect string value: ‘xF0x9Fx92x94’ for column ‘title’ at row 1
 
utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符。 
采用utf8mb4编码的好处是:存储与获取数据的时候,不用再考虑表情字符的编码与解码问题。
 
更改数据库的编码为utf8mb4步骤如下:
 
1 更改表编码
ALTER TABLE `news` DEFAULT CHARACTER SET=utf8mb4;
 
2 更改表字段编码
ALTER TABLE `news` MODIFY COLUMN `title`  varchar(512) CHARACTER SET utf8mb4 ;
 
3 修改数据库连接参数中: 
  $objPdo->exec('SET NAMES utf8mb4'); //设置连接字符集
 
操作以上3步,就好了,不用修改数据库配置,更不用重启mysql



姓 名: *
邮 箱:
内 容: *
验证码: 点击刷新 *   

回到顶部