首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

utf8字符集下的比较规则

前言: 在MySQL中,比较常用的字符集utf8和utf8mb4。...这两个字符集是类似的,utf8是utf8mb3的别名,所以之后在MySQL中提到utf8就意味着使用1~3个字节来表示一个字符,如果大家有使用4字节编码一个字符的情况,比如存储一些emoji表情啥的,需要使用...每种字符集都有一种默认的比较规则,SHOW COLLATION的返回结果中的Default列的值为YES的就是该字符集的默认比较规则,比方说utf8字符集默认的比较规则就是utf8_general_ci...表名 MODIFY 列名 字符串类型 [CHARACTER SET 字符集名称] [COLLATE 比较规则名称]; 2.几种比较规则对比 utf8字符集下默认的比较规则是utf8_general_ci...mysql | mysql | +-------------+-------------+---------+ 3.关于比较规则的选择与建议 对于MySQL 5.7版本,一般情况下建议将字符集改为

1.4K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL字符集你还在使用错误的utf8

    所有在使用“utf8”的MySQL和MariaDB用户都应该改用“utf8mb4”,永远都不要再使用“utf8”。 MySQL的“utf8”不是真正的UTF-8。...“utf8”只支持每个字符最多三个字节,而真正的UTF-8是每个字符最多四个字节。 MySQL一直没有修复这个bug,他们在2010年发布了一个叫作“utf8mb4”的字符集,绕过这个问题。 ?...几乎所有的网络应用都使用了Unicode字符集。Unicode字符集包含了上百万个字符。最简单的编码是UTF-32,每个字符使用32位。...但是MySQL的“utf8字符集与其他程序还不兼容! MySQL从4.1版本开始支持UTF-8,也就是2003年,而今天使用的UTF-8标准(RFC 3629)是随后才出现的。...同年9月,他们对MySQL源代码进行了一次调整:“UTF8现在最多只支持3个字节的序列”。 utfmb4字符集 支持BMP和补充字符。 每个多字节字符最多需要四个字节。

    1.2K10

    MySQL字符集utf8和utf-8的关系

    是MySQL存储Unicode数据的一种可选方法 utf8 MySQL中实现了UTF-8编码的unicode 字符集 MySQL中utf8是utf8mb3的别名 utf8中,一个符号使用1~3个节点表示...对UTF-8支持不彻底,可采用utf8mb4字符集 utf8与utf8mb4的关系 都是实现了UTF-8编码的unicode 字符集 utf8仅支持基本多语言平面Basic Multilingual...个字节存储 对于BMP字符,utf8和utf8mb4具有相同的编码,相同的长度 对于非BMP字符,utf8mb4使用4个字节来存储,utf8不能存储非BMP字符 innodb中默认最大可对767个字节建立索引...使用utf8 的列最多可对255个字符建立索引 使用utf8mb4 的列最多可对191个字符建立索引 超集 字符集A,B ,B支持的所有字符A都支持,A 是B超集 比如 GBK字符集是GB2312字符集的超集...,它们又都是ASCII字符集的超集 utf8mb4是utf8的超集 字符集设置 set names x 等价于 set character_set_client=x; set character_set_connection

    80310

    MySQL字符集乱码总结

    产生乱码的根本原因在于: 1.客户机没有正确地设置client字符集,导致原先的SQL语句被转换成connection所指字符集,而这种转换,是会丢失信息的,如果client是utf8格式,那么如果转换成...3.一定要保证connection字符集大于等于client字符集,不然就会信息丢失,比如: latin1 < gb2312 < gbk < utf8,若设置set character_set_client..."); //连接字符集使用utf8格式 $this->conn->query("set character_set_results = utf8");       //显示字符集使用utf8格式 return...为latin1,只需把utf8改为latin1,更多编码格式请见下面:show charset; (3) 修改服务器级,在 [mysqld] 添加两行: character-set-server=utf8...变为了 utf8 mysql> status; -------------- mysql Ver 14.14 Distrib 5.5.31, for debian-linux-gnu (x86_64

    9.3K20

    windows平台下编辑的内容传到linux平台出现中文乱码的解决办法

    文件,将字符集改为"UTF-8" 按Win键+run出现"运行",在里面输入"notepad"即可打开记事本。...然后"文件"->"打开" haha.txt文件,将下面一栏的编码改为"UTF-8",然后将之前编辑的内容覆盖到新的UTF-8编码的haha.txt文件 再次上传到linux平台下,查看就不会出现中文乱码了...[root@test-vm01 ~]# iconv -f gbk -t utf8 haha.txt > haha.txt.utf8 [root@test-vm01 ~]# cat haha.txt.utf8...主机传文件是经常的事,但有时文件名有中文,传到Linux机器会有乱码,选择起来也很麻烦,下面简单说下应对方法: 解决办法: 一般这种问题是文件的编码字符集、Shell编码字符集、XShell编码字符集不匹配...临时办法 1)简体中文的Windows一般使用GB字符集,这里将XShell设置为GBK 2) Linux主机 [root@AppServer1 ~]# export LANG=zh_CN.gbk 或者

    2.4K80

    Mycat连接MySQL 8时的注意事项

    二、关于MySql 8 主要是修改Mysql配置文件,在Windows平台是my.ini,在linux平台是my.cnf: 修改缺省加密方式:在安装完MySQL 8后,需将缺省的加密方式修改为mysql_native_password...如果是在Linux平台,在首次启动前设置lower_case_table_names = 1(表名大小写不敏感),注意一旦数据库中已有数据,再如此设置会导致启动mysql失败。...为防止出现字符集不匹配,最好也显式设置字符集(可选)。...[mysql] default-character-set=utf8 三、关于MyCat 主要涉及三个方面。...Mycat登录逻辑库的传统方式是:mysql -uroot -p -h127.0.0.1 -P8066 -DTESTDB 但对于MySql 8,会报密码错误方式,这是由于Mysql 8的缺省加密方式已经改为

    1.2K20

    深入理解MySQL字符集及校对规则(二)

    解答如下:假设gbk字符集的字符串“你好”,需要转为utf8字符集存储,实际就是对于“你好”字符串中的每个汉字去utf8编码表里面查询对应的二进制,然后存储。...二、字符集常见处理操作 1.查看字符集编码设置 mysql> show variables like ‘%character%’; 2、设置字符集编码 mysql> set names ‘utf8’;...: MySQL软件本身是没有字符集的,主要是因为工具所在的OS的字符集(Windows:gbk、Linuxutf8),所以字符集的正确实践非常重要: (1)对于insert来说,character_set_client...这里我们就简单演示这几种情况,这里我使用SecureCRT(utf8字符集)连接Linux系统 ?...+------+--------+ | NULL | 中国 | | NULL | 中国 | +------+--------+ 2 rows in set (0.00 sec) 11、把客户端字符集改为

    2K10

    mysql有关运维的面试题_mysql数据库运维面试题「建议收藏」

    from test where name=’oldboy’; (3)第三种方法 mysql> select * from test where id>1; 12.把数据id等于1的名字oldboy更改为...命令行恢复以上删除的数据 mysql -uroot -poldboy -S /data/3306/mysql.sock 18.把GBK字符集改为UTF8(可选,注意,此题有陷阱) mysql> show...网站程序字符集 2. 客户端的字符集 3. 服务器端字符集 4. linux客户端字符集 5....以上都要统一,否则会出现中文乱码 如果编译的时候指定了特定的字符集,则以后创建对应字符集的数据库就不需要指定字符集 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=...utf8_general_ci -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii 提示:二进制软件包,安装的数据库字符集默认latinl 21.在把id列设置为主键,在Name

    1.9K30

    XAMPP最详细的安装及使用教程(图文)

    它可以在Windows、Linux、Solaris、Mac OS X 等多种操作系统下安装使用,支持多语言:英文、简体中文、繁体中文、韩文、俄文、日文等。...2、安装运行 下载地址:https://www.apachefriends.org/zh_cn/download.html 进入后选择自己对应的操作系统下载(Windows、Linux、Solaris.../apache/conf/httpd-ssl.conf文件把端口443修改为4433 4、配置MySQL 把my.ini中的3306改为3316(如果3306不冲突,可以不修改) 把...my.ini中的字符集改为utf8,原文档中已有,但需要取消注释(如果不配置utf8,取出的中文是乱码)....另外,MySQL数据库也需要设置字符集,默认字符集为latin1,在数据库中会造成中文乱码,在创建数据库和数据表时都要注意使用utf8字符集

    8.6K61
    领券