mysql utf8编码】的更多相关文章

做微信项目,报错 "Incorrect string value: '\\xF0\\x9F\\x98\\x8B' for column 'nickname' at row 1" 原因是微信昵称中含有表情,表情属于4字节编码,而 mysql utf-8 编码只支持1-3个字节.从MYSQL5.5开始,可支持4个字节UTF编码utf8mb4,utf8mb4兼容utf8,即utf8是utf8mb4的子集.所以之后项目默认应该使用 utf8mb4 子集,不用想那么多. 所以就改表的编码呗,我没…
原文:http://my.oschina.net/leejun2005/blog/343353 目录[-] 1.问题:mysql 遇到某些中文插入异常 2.原因:此 utf8 非彼 utf8 3.解决方案 3.1 升级 mysql 版本,并将utf8字符集升级到utf8mb4 3.1.1 直接修改表结构 3.1.2 修改数据库默认配置 3.2 强行过滤掉生僻字符串 3.2.1 shell 过滤 3.2.2 java 中的过滤操作 3.3 避开客户端乱码:二进制存储与查询 4.应用.系统对 utf…
1.建立数据库时指定数据库db_test为utf8编码.: create database db_test character set utf8;  修改数据库db_test编码的命令为: alter database db_test character set utf8: 2.检查现在的数据库编码设置. show variables like ‘%character%’; show variables like’%collation%’; 默认一般是latin1. 3.修改mysql编码 se…
<?php //PDO创建mysql数据库并指定utf8编码 header('Content-type:text/html; charset=utf-8'); $servername = "localhost"; $username = "root"; $password = ""; $dsn="mysql:host=$servername"; try { $pdo = new PDO($dsn, $username,…
linux下配置mysql默认编码utf8 下面是需要在对应地方加入的配置 [client] default-character-set=utf8 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci 重启mysql之后,妥妥的了 mysql> status -------------- mysql Ver 14.14 Distrib 5.1.41, for debian-linux-gnu (i486) usin…
Mysql数据库是一个开源的数据库,应用非常广泛.以下是修改mysql数据库的字符编码的操作过程. 步骤1:查看当前的字符编码方法 mysql> show variables like'character%'; +--------------------------+----------------------------+ |Variable_name |Value | +--------------------------+----------------------------+ |cha…
mysql的安裝使用sudo apt-get install mysql-server即可安裝,我安裝的是5.6版.安装过程中会要求输入root账户的密码,按提示输入即可. Mysql Workbench使用sudo apt-get install mysql-workbench安裝,版本不支持mysql-server-5.6,可在mysql官方网站下载安装. 我下载的安装包为mysql-workbench-community-6.2.3-1ubu1404-amd64.deb,使用sudo dp…
UTF-8简介 UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,也是一种前缀码.它可以用来表示Unicode标准中的任何字符,且其编码中的第一个字节仍与ASCII兼容,这使得原来处理ASCII字符的软件无须或只须做少部分修改,即可继续使用.因此,它逐渐成为电子邮件.网页及其他存储或发送文字的应用中,优先采用的编码. UTF-8使用一至四个字节为每个字符编码(2003年11月UTF-8被RFC 3629重新规范,只能使…
MySQL中UTF8编码的数据在cmd下乱,在数据库ide中看到的却是中文. 其实,原因是cmd用gbk的格式来显示数据,那么我们只需要将utf-8存储的数据用gbk的格式输出到cmd即可. 解决方法: 打开mysql->输入set names gbk; ps.千万别设置cmd用utf8的格式来显示数据,因为涉及到微软的设置,最好还是别动.…
设置MYSQL数据库编码为UTF-8   1.  编辑MySql的配置文件 MySql的配置文件Windows下一般在系统目录下或者在MySql的安装目录下名字叫my.ini,可以搜索,Linux下一般是/etc/my.cnf --在 [mysqld] 标签下加上以下内容: default-character-set = utf8 character_set_server = utf8 注意:如果此标签下已经存在“default-character-set=GBK”类似的内容,只需修改即可. -…
记住,永远不要在MySQL中使用“utf8”编码 原创: 无明.Adam 聊聊架构 6月15日 最近工作中我遇到了一个 bug,我试着通过 Rails 在以“utf8”编码的 MariaDB 中保存一个 UTF-8 字符串,然后出现了一个离奇的错误: Incorrect string value: ‘\xF0\x9F\x98\x83 <…’ for column ‘summary’ at row 1 我用的是 UTF-8 编码的客户端,服务器也是 UTF-8 编码的,数据库也是,就连要保存的这个…
utf8_general_ci 已经 过时了...请以后用mysql 考虑使用 utf8mb4, utf8mb4_unicode_ci!!! 兼容性更好. mysql的utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8不支持存储emoji表情.但是utf8的超集utf8mb4一个字符最多能有4字节,所以能支持emoji表情的存储.下面介绍了关于如何修改mysql数据库的编码格式变为utf8mb4的具体方法. Linux系统中mysql的配置文件为my.cnf.(注…
掉坑回顾: 最近在工作中遇到一个BUG,用于记录客户昵称的数据表,在插入带有表情的字符时候报错.使用的存储引擎是INNODB,当我查看数据库字段的时候确实是设置的utf8,我传入的字符也是utf8的编码集,这有什么错?直到我深入了解才发自己使用的姿势并不对,mysql数据库中的"utf8"并不是真正的utf8编码,关于这个问题mysql官方一直未能修复,取而代之的推出了utf8mb4,这一点让我记忆犹新,切记mysql中不要再使用utf8编码! 1.BUG重现 这里我做了一个简单的试验…
有道面试题:若一张表中只有一个字段VARCHAR(N)类型,utf8编码,则N最大值为多少?先明白计算的一些规则限制 4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) 5.0版本以上,varchar(20),指的是20字符,无论存放的是数字.字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节 ① 存储限制    需要额外地在长度列表上存放实际的字符长度:小于255为1个字节,大于255则要2个字节② 编码…
这次我们来说一下在Mysql中的编码问题: 我们知道应用于计算机的最早的字符集是ASCII,它所组成的编码是ASCII编码:由于对于其他国家来说它所容纳的字符个数比较少,后来就出现了ANSI字符集,它的编码就是本地编码,由于各个国家的本地编码不相同,导致互相不兼容,最后就出现了Unicode字符集,它规定全世界通用一张码表,用4个字节来编号,但是我们常用的字符集中在前65535个编号里,用两个字节就够了,那么我们就可以简化编码,比如: unicode用0000 0000 0000 0000 00…
1. 在Windows上,安装时请选择UTF-8编码,以便正确地处理中文. 在Mac或Linux上,需要编辑MySQL的配置文件,把数据库默认的编码全部改为UTF-8.MySQL的配置文件默认存放在/etc/my.cnf或者/etc/mysql/my.cnf: [client] default-character-set = utf8 [mysqld] default-storage-engine = INNODB character-set-server = utf8 2. 之后用sudo s…
MySQL的UTF-8编码方式 MySQL 从 4.1 版本开始支持 UTF-8,也就是 2003 年,然而目前流行的UTF-8 标准(RFC 3629)是在此之后规定的.正因此,才造就了MySQL中的UTF-8与我们日常开发中的UTF-8不一致,从到导致了些问题.MySQL的UTF-8只支持每个字符最多三个字节,而真正的 UTF-8 是每个字符最多四个字节. 问题复现 有数据库表如下:utf8编码方式 往数据库存一条记录: @Test public void testInsert() { Us…
前言 继上文发表之后,结合评论意见并亲自验证最终发现是编码的问题,但是对于字符编码还是有点不解,于是乎,有了本文,我们来学习字符编码,在学习的过程中,我发现对于MySQL中JSON类型的编码导致数据中文出现乱码还有可深挖之处,接下来我们来分析一下,若有错误之处,还请批评指出. 字符编码 评论中指出任何不在基本多文本平面的Unicode字符,都无法使用MySQL的utf8字符集存储,包括Emoji 表情(Emoji 是一种特殊的Unicode 编码,常见于IOS和Android 手机上)和很多不常…
ubuntu使用apt-get安装mysql后,server的默认编码是latin1,下面把server的编码修改成utf8. 编码相关信息: 1 2 3 4 5 6 7 8 9 10 11 12 13 mysql> show variables like 'character%'; +--------------------------+----------------------------+ | Variable_name            | Value               …
show variables like 'character%';+--------------------------+----------------------------+| Variable_name            | Value                      |+--------------------------+----------------------------+| character_set_client     | latin1           …
> 参考的优秀文章 1.十分钟搞清字符集和字符编码 2.Java中byte与16进制字符串的互相转换 3.[异常处理]Incorrect string value: '\xF0\x90\x8D\x83...' for column... Emoji表情字符过滤的Java实现 4.Why a surrogate java regexp finds hypen-minus > 如何检测.替换4个字节的utf-8编码(此范围编码包含emoji) 项目有个需求,是保存从手机端H5页面提交的信息. 大家…
http://blog.csdn.net/martinkro/article/details/5352474 1 MYSQL中的字符集概念  Mysql的字符集里有两个概念,一个是"Character set(字符集)",另一个是"Collations".1.1 Collations  Collations翻成中文是"校验",在网页开发的过程中,这个词汇,只在Mysql里使用,主要作用是指导Mysql对字符的比较,比如, ASCII字符集里,Co…
发布:thatboy   来源:脚本学堂     [大 中 小] 本文介绍下,linux环境中mysql字符编码问题的解决办法,有遇到mysql编码问题的朋友,可以参考下本文的介绍,希望对你有一定的帮助. 本节内容: linux下mysql字符编码问题 mysql的字符编码,这里使用fedora11下默认安装mysql5.1. 复制代码代码示例: $mysql --user=root --password=123456789 登录成功: 复制代码代码示例: mysql>show variable…
JSP,mysql,tomcat下(基于struts2)中文及其乱码问题的解决 6大配置点 使用UTF-8编码 目前对遇到J2EE 开发中 中文及其乱码问题,参考网上资料做个总结, 主要是6大配置点: 1 struts2配置 2 数据库 3 页面 4 jdbc连接 5 tomcat 6.hibernate配置 以下解决方法不分顺序,大家按照自己的配置对比,同时也欢迎大家补充 1 struts2配置 struts2在配置struts.properties文件中加上struts.i18n.encod…
创建三个表tb_latin1,tb_utf8,tb_gbk,编码分别为latin1/utf8/gbk “你好a”字符串编码如下GBK : %C4%E3 %BA%C3 %61UTF-8 : %E4%BD%A0 %E5%A5%BD %61 测试代码如下 <?php //fileencoding=gb2312 mysql_query("set names gbk"); mysql_query("insert into test.tb_latin values('gbk', '…
MySQL字符集编码总结 之前内部博客上凯哥分享了一篇关于mysql字符集的文章,之前我对mysql字符集一块基本没有深究过,看到凯哥文章后有些地方有点疑惑,遂自己去看了mysql的官方文档,并參考了凯哥的文章,总结了这篇博文.本文主要是对mysql常见的字符集问题进行整理,如有错误,请大家指正. 1.MySQL字符集编码简单介绍 谈到字符集,总会跟编码扯上关系,有关字符集和编码的理论知识请參见我之前的文章.MySQL内部是支持多种字符集的,这里就不再严格区分字符集和编码的概念了.同一时候,My…
一.基本概念(这里引用http://www.laruence.com/2008/01/05/12.html) 1. 给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码(Encoding).例如,我们给字符'A'赋予数值0,给字符'B'赋予数值1,则0就是字符'A'的编码: 2. 给定一系列字符并赋予对应的编码后,所有这些字符和编码对组成的集合就是字符集(Character Set).例如,给定字符列表为{'A','B'}时,{'A'=>0, 'B'=>1}就…
我们最初学习计算机的时候,都学过ASCII编码. 但是为了表示各种各样的语言,在计算机技术的发展过程中,逐渐出现了很多不同标准的编码格式, 重要的有Unicode.UTF.ISO-8859-1和中国人经常使用的GB2312.BIG5.GBK等. 1.编码基础知识 最早的编码是iso8859-1,和ascii编码相似.但为了方便表示各种各样的语言,逐渐出现了很多标准编码,重要的有如下几个. 1.1. ISO-8859-1 通常叫做Latin-1 属于单字节编码,最多能表示的字符范围是0-255,应…
MYSQL转换编码的解决方法 一.在utf8的mysql下 得到中文‘游客’的gbk下的16进制编码 mysql> SELECT hex(CONVERT( '游客' USING gbk )); -> D3CEBFCD 反推gbk的16进制编码,取回中文 mysql> SELECT CONVERT( unhex('d3cebfcd') USING gbk); -> ’游客' 从gbk的16进制编码直接转成utf8的16进制编码 mysql> SELECT HEX(CONVERT…
4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) 5.0版本以上,varchar(20),指的是20字符,无论存放的是数字.字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节 1.限制规则 a) 存储限制 需要额外地在长度列表上存放实际的字符长度:小于255为1个字节,大于255则要2个字节 b) 编码限制 gbk:每个字符最多占用2个字节 utf8:每个字符最多占用3个字节 c) 长度限制 MySQL定…