utf8mb4解决四字节字符保存到mysql不报错的问题
来源:互联网 发布:德奥关系 知乎 编辑:程序博客网 时间:2024/06/06 15:48
场景:微信昵称中包含表情,保存到mysql中报出SQLException :Incorrect string value: '\xF0\xA1\x8B\xBE\xE5\xA2...' for column 'name'
解决方案:Mysql 从5.5.3版本开始支持4字节的utf8编码,如果你的Mysql数据库是5.5.3+,按照以下步骤就能解决这个问题
1、在修改数据库编码前先对数据库备份(虽然utf8mb4兼容utf8,但有备无患)
2、修改数据库的编码、表的编码、列的编码为utf8mb4
3、在Mysql数据库配置文件(my.ini)中加入如下设置
[client]
default-character-set = utf8mb4
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
[mysql]
default-character-set = utf8mb4
重新启动Mysql数据库,确认设置生效
SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';4、在获取数据库连接的时候执行sql:set names utf8mb4;
参考文章:http://zhidao.baidu.com/link?url=JRGVSJ0boYC7bxxoX8EiAvCvOBivWqfL5Won15ZQX0vRohSXIZnvM-1FsSD1SuJJogjs-Hmp0uv8enU2otp5_JffyjEqXWcFiXNXFUIJEGW
http://my.oschina.net/leejun2005/blog/343353
https://segmentfault.com/q/1010000003711491
http://www.cnblogs.com/newstar/archive/2011/06/13/2079870.html
- utf8mb4解决四字节字符保存到mysql不报错的问题
- 让MySql支持Emoji表情(MySQL中4字节utf8mb4字符保存方法)
- mysql : utf8mb4 的问题
- MySQL 解决 emoji表情 的方法,使用utf8mb4 字符集(4字节 UTF-8 Unicode 编码)
- MySQL字符编码的讨论:如何处理emoji等4字节的Unicode字符 - utf8mb4 vs. utf8 Collations
- mysql切换到utf8mb4支持emoji字符踩过的那些坑
- 已解决utf8mb4查询时任何ext-b字符相等的问题
- MySQL字符编码:如何从utf8升级到utf8mb4
- 如何在mysql中存取utf8mb4编码的字符
- Android歌词保存到本地及读取所遇到的字符乱码问题及解决
- HibernateDaoSupport 无法保存数据到数据库,并且不报错
- mysql的utf8mb4设置
- MySQL数据库无法通过 utf8mb4 连接的解决方式
- 解决Mysql不能保存中文的问题
- 解决Mysql不能保存中文的问题
- 如何处理emoji等4字节的Unicode字符 - utf8mb4 vs. utf8 Collations
- mac下 解决 Hibernate保存数据到mysql时的中文乱码问题
- 解决Hibernate保存数据到mysql时的中文乱码问题
- eclipse 的team中没有svn设置
- Java学习笔记----工厂模式和反射
- CCF 集合竞价
- 安全智能:信息安全领域中的大数据分析
- netstat命令详解
- utf8mb4解决四字节字符保存到mysql不报错的问题
- hibernate优化(二):缓存
- 简要对比下HTTP-DNS调度和302跳转调度之间的区别
- angularjs自定义过滤器demo
- Struts理解
- 23种设计模式
- UIImage 加载性能优化
- BZOJ2502: 清理雪道
- Xamarin.iOS + MvvmCross: UIPickerView data binding, SelectedItemChanged event