1. 在mysql插入emoji表情,出现错误:

    java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8A' for column 'content' at row

    原因是当前mysql的字符集为utf-8,最多3个字节,emoji表情需要4个字节来表示。所以导致insert报错。

    一般的方法是将字符集改为utf8mb4

2. utf8mb4这样的字符集需要mysql 5.5才支持,当时我的版本微5.1,所以自己去官网下了5.6的yum包,自己升级。

升级很顺利,1.查看在运行的mysql:rpm -qa | grep -i mysql

2.停止mysqld服务,删除旧的mysql: yum remove mysql mysql-*  ; 配置文件我都没有删除,这样新的可以接着使用

           3.安装新的mysql:rpm -ivh (devel client server三个rpm包)    

           4.进入mysql>,所有的数据都在,执行mysql_upgrade -u root -p

升级结束

  3.更改字符集

  • my.cnf:   升级后只有/etc/my.cnf.rpmsave,将其重命名为my.cnf,在其中增加,然后service mysql restart:

    [mysqld]
    
    character-set-server=utf8mb4
    
    [mysql]
    
    default-character-set=utf8mb4
  • 更改datebase,table,column的字符集(事实上我只用到了后面两个,datavase的没有更改也似乎没有影响):
    # For each database:
    ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
    # For each table:
    ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    # For each column:
    ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  • 确认更改是否生效,分别看mysql和字段的字符集:
    mysql>show variables like '%char%'
    mysql>show full columns from tablename;
  • 参考:

   http://www.cnblogs.com/vincentchan/archive/2012/09/25/2701266.html         

mysql 支持emoji表情的更多相关文章

  1. MySQL支持Emoji表情

    让MySQL支持Emoji表情,涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集. utf8mb4和utf8到底有什么区别呢?原来以往的mysql的utf8一个字符最多3字节, ...

  2. mysql支持emoji表情符存储

    一.教你如何让数据库支持emoji表情符存储 解决方式: 更换字符集utf8-->utf8mb4 问题描述: 前台应用抓取微博信息,每天总有几条数据插入不成功.应用日志显示: java.sql. ...

  3. 让mysql支持emoji表情

    一.问题及原因 APP产品想对Emoji进行支持,但发现mysql数据库无法写入表情.原因是我们的mysql数据库默认用的是utf8编码,utf8编码存储时用的是三个字节,但Emoji表情是4个字节, ...

  4. 转:让MySQL支持emoji表情

    转自:http://www.cnblogs.com/suifu/p/5848269.html 公司有新要求,ios客户端要上线评论中可以使用emoji表情的功能,在mysql 5.5 之前,UTF-8 ...

  5. 让MySql支持Emoji表情(MySQL中4字节utf8字符保存方法)

    手机端插入Emoji表情,保存到数据库时报错: Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x84' ...

  6. 让MySql支持Emoji表情存储

    java后台报错,如下. aused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x84' for column ...

  7. 让Mysql支持Emoji表情,解决[Err] 1366 - Incorrect string value: '\xF0\xA3\x84\x83'

    mysql insert内容包含表情或者unicode码时候,插入Mysql时失败了,报如下异常: java.sql.SQLException: Incorrect string value: '\x ...

  8. php mysql支持emoji表情方案

    将emoji转换成utf8 然后存储到数据库,但是 效率低 public function rrr($text) { $text = 'a

  9. 让mysql 支持 emoji 表情

    1.数据库配置 [client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] ch ...

随机推荐

  1. rest实践2

    通过url读取图片资源 其他的上传图片和对应的添加信息到数据库等的相关操作则引入crud来操作,编写相关代码的话==>要引入相关的crud包.

  2. cannot mount volume over existing file, file exists /var/lib/docker/overlay2/.../merged/usr/share/zoneinfo/UTC 解决

    问题产生原因: linux系统docker-compose.yml文件 放到 mac本启动发现启动报错 cannot mount volume over existing file, file exi ...

  3. JS对JSON的使用【转】

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意味 ...

  4. __init__.py在导包中起到的作用

    说明:__init__.py这个文件本人使用频率不高 例子: __init__.py文件作用:初始化这个包 1.v1.py def vi(): return 'views' 2.views->_ ...

  5. Java入门 - 语言基础 - 12.Number和Math类

    原文地址:http://www.work100.net/training/java-number-math.html 更多教程:光束云 - 免费课程 Number和Math类 序号 文内章节 视频 1 ...

  6. tomcat启动时检测到循环继承而栈溢出的问题:Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [/test] due to a StackOverflowError. Possible root causes include

    最近在公司更新一个老项目的时候,发现部署项目后tomcat报错,错误如下: Caused by: java.lang.IllegalStateException: Unable to complete ...

  7. [bzoj4571] [loj#2016] [Scoi2016] 美味

    Description 一家餐厅有 \(n\) 道菜,编号 \(1\)...\(n\) ,大家对第 \(i\) 道菜的评价值为 \(ai\)( \(1 \leq i \leq n\) ).有 \(m\ ...

  8. 夜晚 暴力 十点钟 jQuery 的 extend 实现 原理

    jQuery 的 extend 是怎么实现的 一看代码 喉咙 就不爽 这是 jQuery JavaScript Library v1.6 一看代码 多的 屁股疼 , 排名 前三 的 文章 可以去参考下 ...

  9. 以其他控制器为目标 在视图中生成输出URL

    结果呢:<a href="/Admin">This targets another controller</a>

  10. 优课堂考勤系统——Alpha发布1

    一.作业描述 这个作业属于哪个课程 这个作业要求在哪里 团队名称 CTRL-IKun 这个作业的目标 在这个星期内完成团队项目α版本的第一次测试和发布,为发布下一次的 α版本做一个准备和前期检验 项目 ...