文档章节

再谈 My sql UTF8

idoz
 idoz
发布于 2015/08/26 15:06
字数 251
阅读 82
收藏 0

UTF-8可能是我们使用的最多的一种字符编码,一直以其支持的广泛的字符被人称道,我也经常在项目中使用它,至到遇到了:SQL state [HY000]; error code [1366]; Incorrect string value: '\xF0\x9F\x92\x8BRo...' for column

DB环境:mysql,

字符集编码: utf8

这是在jdbc中执行的时候出现的问题,如果将出错的sql语句在command中执行,不是会出错的,为什么呢?

在mysql 中规定utf8的字符的最大长度为3(maxLen=3), 但是一些unicode字符在转成utf8编码之后有4字节的

长度,所以就出错了。

例如: *号在转为utf8时为 f0 9f 8d 8e

String c = "*";
byte[] bytes = c.getBytes("utf8");
for (byte b : bytes){
 System.out.print(Integer.toHexString(0x00FF &b)+" ");
} // 输出 f0 9f 8d 8e

好在mysql 早为我们想好了这些,那如何办呢?

只需将出错的列的编码更改为utf8mb4就行了, what is mb4 means?  max byte ?

ALTER TABLE {yourTable} MODIFY {column} VARCHAR(45) 
CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;





© 著作权归作者所有

共有 人打赏支持
idoz
粉丝 12
博文 380
码字总数 187595
作品 0
郑州
再谈乱码问题,如何解决MYSQL数据中文乱码问题

在之前的文章里,我已经提过如何解决JSP中乱码问题(解决tomcat下中文乱码问题 ),其中也详细解说了MYSQL乱码问题,相信通过里面的办法,肯定都已经解决了JSP里的乱码问题,不过还是有些人的...

ly5156
2011/08/12
0
0
Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结

用了这么长时间,发现自己竟然不知道utfbin和utfgeneral_ci这两者到底有什么区别。。 ci是 case insensitive, 即 "大小写不敏感", a 和 A 会在字符判断中会被当做一样的; bin 是二进制, a 和...

dinggosumsung
2016/07/05
4
0
MySQL 编码设置

MySQL 编码设置 2011-8-11 12:10:00来源:Sql mysql编码设置 MYSQL 2009-09-11 15:37 阅读73 评论1 字号: 大大 中中 小小 mysql> SHOW VARIABLES LIKE 'characterset%'; +-----------------......

片刻
2015/12/22
41
0
mysql 使用小记(持续更新)

1 导入sql文件 第一种:数据库已存在,root登录,终端中选择数据库,mysql>source 文件绝对路径/sql文件名 (注意:文件路径中建议使用“/”,如果使用“”,要首先进行转义) 第二种:sql文...

wufa
2012/07/13
0
0
MYSQL入门之三_将本地MySQL数据导入SAE数据库

MySQL字符集 MySQL的默认字符集是latin1,将本地MySQL库导出成sql,再导入到SAE的MySQL时中文字符出现乱码,解决方法是将本地mysql默认字符集也设成utf8 查看当前MySQL字符集 mysql> show va...

我的去哈哈
2014/03/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

WinDbg

参考来自:http://www.cnit.net.cn/?id=225 SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols ctrl + d to open dump_file Microsoft (R) Windows Debugger Version 6.12.0002.633......

xueyuse0012
47分钟前
2
0
OSChina 周五乱弹 —— 想不想把92年的萝莉退货

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @罗马的王:分享松澤由美的单曲《地球ぎ》 很久没看圣斗士星矢了 《地球ぎ》- 松澤由美 手机党少年们想听歌,请使劲儿戳(这里) @开源中国首...

小小编辑
今天
11
1
springBoot条件配置

本篇介绍下,如何通过springboot的条件配置,控制Bean的创建 介绍下开发环境 JDK版本1.8 springboot版本是1.5.2 开发工具为 intellij idea(2018.2) 开发环境为 15款MacBook Pro 前言 很多时候,...

贺小五
今天
1
0
javascript source map 的使用

之前发现VS.NET会为压缩的js文添加一个与文件名同名的.map文件,一直没有搞懂他是用来做什么的,直接删除掉运行时浏览器又会报错,后来google了一直才真正搞懂了这个小小的map文件背后的巨大...

粒子数反转
昨天
1
0
谈谈如何学Linux和它在如今社会的影响

昨天,还在农耕脑力社会,今天已经人工智能技术、大数据、信息技术的科技社会了,高速开展并迅速浸透到当今科技社会的各个方面,Linux日益成为人们信息时代的到来,更加考验我们对信息的处理程...

linux-tao
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部