Home > Database > Mysql Tutorial > 插入Mysql数据库是,字符utf8编码超过3位时的错误以及解决_MySQL

插入Mysql数据库是,字符utf8编码超过3位时的错误以及解决_MySQL

WBOY
Release: 2016-06-01 13:34:33
Original
1086 people have browsed it

bitsCN.com

插入Mysql数据库是,字符utf8编码超过3位时的错误以及解决

 

Incorrect string value: '/xF0/xA1/xBF/xA8/xE9/x82...' for column 'last_name'

 

这个问题出在mysql上,mysql如果设置编码集为utf8那么它最多默认只能支持到3个字节的UTF-8编码,

而4个字节的UTF-8字符还是存在的,这样一来如果你建表的时候用的utf8字符集出异常就理所当然了。

 

之前遇到过两次

短信备份的时候,用户短信内容里面的一些特殊字符编码会是四位,从ios导入的联系人,lastname里面也可能会有此类字符。

解决方法很简单,修改字段或者表的字符集为utf8mb4。

 

alter table fnbl_pim_contact_1 modify column `last_name` varchar(64)  CHARACTER SET  utf8mb4 COLLATE utf8mb4_unicode_ci NULL;

 

但需要注意的是,字符集utf8mb4在mysql 5.5.3之后才能支持。。。。。。

 

如下短信中的特殊字符,编码就会达到4位。

 

插入Mysql数据库是,字符utf8编码超过3位时的错误以及解决_MySQL
 

bitsCN.com
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template