mysql与emoji和特殊字符
从微信登陆已经是非常普遍的登陆方式了,在数据库设计时也应该考虑相关性。一般存储open_id、图标、昵称就够了。其中昵称要特殊注意,否则可能就像这样:
mysql : 1366 Incorrect string value 吧啦吧啦……
这是因为微信的昵称用了特殊字符,比如UNICODE的emoji扩展区。mysql的utf8 default是无法存储的,位数不足。参考:附链接1
对应字段应修改为utf8mb4,存储过程的参数也应该修改(附链接2):
CREATE PROCEDURE `emoji`(text varchar(20) CHARSET utf8mb4)
BEGIN
SELECT text;
END
测试这个问题可以用:
select unhex('F09F8D83')
或
INSERT tb(`text`) VALUES(unhex('F09F8D83'))
链接1:http://www.cnblogs.com/lampbrotherIT/p/5794742.html
链接2:https://stackoverflow.com/questions/17650662/creating-a-stored-procedure-with-utf8-strings
mysql与emoji和特殊字符的更多相关文章
- MySQL支持Emoji表情
让MySQL支持Emoji表情,涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集. utf8mb4和utf8到底有什么区别呢?原来以往的mysql的utf8一个字符最多3字节, ...
- mysql 支持emoji
1.修改my.cnf [client] default-character-set = utf8mb4 [mysqld] collation-server = utf8mb4_unicode_ci c ...
- 微信emoji表情编码 、MySQL 存储 emoji 表情符号字符集
相关资料 微信emoji表情编码 微信用户名显示「emoji表情」 PHP处理微信中带Emoji表情的消息发送和接收(Unicode字符转码编码) MySQL 存储emoji表情 MySQL 存储 e ...
- MySQL插入emoji表情失败问题的解决方法
前言 之前一直认为UTF-8是万能的字符集问题解决方案,直到最近遇到这个问题.最近在做新浪微博的爬虫, 在存库的时候发现只要保持emoji表情,就回抛出以下异常: Incorrect string v ...
- MySQL保存 emoji 表情(微信昵称表情)
问题分析 在微信开发过程中,总是会遇到带有emoji表情昵称的微信用户无法自动登录的问题. 后台代码抛出类似下面的异常信息. java.sql.SQLException: Incorrect stri ...
- mysql中emoji表情存储
mysql中emoji表情存储 背景 在mysql 5.7.19,创建的数据库默认选择的编码是utf8 -- UTF-8 Unicode,因此字段默认的编码为utf-8,但在项目开发中存在一个需求:在 ...
- mysql 支持emoji表情
在mysql插入emoji表情,出现错误: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8A' for column ' ...
- mysql 插入Emoji表情报错
今天做的了个获取微信粉丝的功能,发现将昵称插入数据库报错.长度肯定是够的 Incorrect string value: '\xF0\x9F\x98\x84\xF0\x9F 找了点资料发现UTF-8编 ...
- mysql 存储 emoji报错( Incorrect string value: '\xF0\x9F\x98\x84\xF0\x9F)的解决方案
1.报错原因: mysql utf-8 编码储存的是 2-3个的字节,而emoji则是4个字节. 2.解决办法: 修改mysql的配置文件,windows下的为my.ini(linux下的为my.cn ...
随机推荐
- JPA实体的常用注解
@Entity 标注于实体类上,通常和@Table是结合使用的,代表是该类是实体类@Table 标注于实体类上,表示该类映射到数据库中的表,没有指定名称的话就表示与数据库中表名为该类的简单类名的表名相 ...
- Web自动化之Headless Chrome测试框架集成
使用Selenium操作headless chrome 推荐 简介 WebDriver是一个W3C标准, 定义了一套检查和控制用户代理(比如浏览器)的远程控制接口,各大主流浏览器来实现这些接口以便调用 ...
- python高阶函数式编程
from functools import reduce def str2int(s): def fn(x, y): return x * 10 + y def char2num(s): return ...
- day6(列表操作、列表练习题)
一.列表操作 a) 循环 基本语法 for i in value : L1 =['a','b','c','d',1,2,3,4,5,6,'b','D'] for i in L1: print(i) ...
- SQL总结手册
1.SQL语法 (1)查询 SQL查询是使用最多的,需要凭借结构.索引和字段类型等因素.大多数据库含有一个优化器(optimizer),把用户查询转换为可选形式,以提高查询效率. 基本语法为: SEL ...
- BIOS基础
Basic Input Output System 基本输入输出系统 固化到主板上-个 ROM芯片上的 程序 为计算机提供最底层.最直接的的硬件设置和控制 以上来自百度 不讨论时软件还 ...
- ORACLE透明网关访问SQL Server配置总结
透明网关概念 ORACLE透明网关(Oracle Transparent Gateway)可以解决ORACLE数据库和非ORACLE数据库交互数据的需求.在一个异构的分布式环境中,通过ORACLE ...
- Pandaboard ES编译bootloader、xloader、内核、以及安卓系统
Building bootloader and kernel Bootloader Startwith building the bootloader. To learn more about the ...
- R语言︱贝叶斯网络语言实现及与朴素贝叶斯区别(笔记)
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 一.贝叶斯网络与朴素贝叶斯的区别 朴素贝叶斯的 ...
- Java Web项目(Extjs)报错四
1.Java Web项目(Extjs)报错四 具体报错如下: usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ...