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

utf8字符集下的比较规则

前言: 在MySQL中,比较常用的字符集是utf8和utf8mb4。...这两个字符集是类似的,utf8是utf8mb3的别名,所以之后在MySQL中提到utf8就意味着使用1~3个字节来表示一个字符,如果大家有使用4字节编码一个字符的情况,比如存储一些emoji表情啥的,需要使用...1.utf8下比较规则概览 我们先查看下utf8字符集下支持的所有比较规则: mysql> SHOW COLLATION LIKE 'utf8\_%'; +----------------------...每种字符集都有一种默认的比较规则,SHOW COLLATION的返回结果中的Default列的值为YES的就是该字符集的默认比较规则,比方说utf8字符集默认的比较规则就是utf8_general_ci...表名 MODIFY 列名 字符串类型 [CHARACTER SET 字符集名称] [COLLATE 比较规则名称]; 2.几种比较规则对比 utf8字符集下默认的比较规则是utf8_general_ci

1.4K21

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

所有在使用“utf8”的MySQL和MariaDB用户都应该改用“utf8mb4”,永远都不要再使用“utf8”。 MySQL的“utf8”不是真正的UTF-8。...“utf8”只支持每个字符最多三个字节,而真正的UTF-8是每个字符最多四个字节。 MySQL一直没有修复这个bug,他们在2010年发布了一个叫作“utf8mb4”的字符集,绕过这个问题。 ?...但问题是,这样太浪费空间了。 UTF-8可以节省空间,在UTF-8中,字符“C”只需要8位,一些不常用的字符,比如“”需要32位。其他的字符可能使用16位或24位。...但是MySQL的“utf8”字符集与其他程序还不兼容! MySQL从4.1版本开始支持UTF-8,也就是2003年,而今天使用的UTF-8标准(RFC 3629)是随后才出现的。...同年9月,他们对MySQL源代码进行了一次调整:“UTF8现在最多只支持3个字节的序列”。 utfmb4字符集 支持BMP和补充字符。 每个多字节字符最多需要四个字节。

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

    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

    81510

    常见字符集&乱码问题

    字符集 常用字符集分类 ASCII及其扩展字符集 作用:表语英语及西欧语言。 位数:ASCII是用7位表示的,能表示128个字符;其扩展使用8位表示,表示256个字符。...ISO-8859-1字符集 作用:扩展ASCII,表示西欧、希腊语等。 位数:8位, 范围:从00到FF,兼容ASCII字符集。 GB2312字符集 作用:国家简体中文字符集,兼容ASCII。...UNICODE字符集 作用:为世界650种语言进行统一编码,兼容ISO-8859-1。 位数:UNICODE字符集有多个编码方式,分别是UTF-8,UTF-16和UTF-32。...BIG5字符集 作用:统一繁体字编码。 位数:使用2个字节表示,表示13053个汉字。 范围:高字节从A1到F9,低字节从40到7E,A1到FE。...UCS字符集 作用:国际标准 ISO 10646 定义了通用字符集 (Universal Character Set)。它是与UNICODE同类的组织,UCS-2和UNICODE兼容。

    67320

    java中文乱码怎么解决_java中文乱码解决总结

    、utf8解决JSP中文乱码问题 一般说来在每个页面的开始处,加入: pageEncoding=”UTF-8″%> request.setCharacterEncoding(“UTF-8”); %> charset...3、xmlHttpRequest中文问题 页面jsp用的GBK编码 代码 javascript部分 代码 function addFracasReport() { var url=”controler...=Common.createXMLHttpRequest(); xmlHttp.onreadystatechange = Common.getReadyStateHandler(xmlHttp, eval...(“turnAnalyPage”)); xmlHttp.open(“POST”,url,true); xmlHttp.setRequestHeader( ” Content-Type ” , ” application...,重新打包jar,这样就可以了 7、toad的字符集的设置与oracle的安装 oracle数据库服务器的安装一般是中文字符集,有时安装在不同的平台下,设置为ISO编码,toad是oracle开发的最好工具

    8.6K30

    java 汉字乱码_Java中文乱码问题

    GB2312 是中国规定的汉字编码,也可以说是简体中文的字符集编码 ; GBK 是 GB2312 的扩展 , 除了兼容 GB2312 外,它还能显示繁体中文,还有日文的假名 ; UTF-8也支持中文,但却与...让我们先看一下AJAX的经典请求代码 程序代码: xmlhttp.open( “post”, url, async ); xmlhttp.setRequestHeader( “Content-Type”..., “text/html” ); xmlhttp.send( params ); setRequestHeader并不是不变的,也没人想过去改它,而问题就正好出在这个地方。...页面编码为GBK,在javascript用httprequest传递时发生参数乱码的变动的问题,应该是xmlhttp的content-type的问题,但是我们原则上不改变原有代码,因此采用了以下办法。...str.equals(“”)) { URLEncoder.encode(str, “gbk”); str= new String(str.getBytes(“gbk”), “utf8”).toString

    7.7K10

    win7-字符集-乱码问题

    但由于不同国家和地区采用的字符集不一致,很可能出现无法正常显示所有字符的情况,那么非 Unicode选项作用就是在遇到这种情况时,把非 Unicode编码字符按照你选择的语言进行显示(百度知道)。...上面设置的就是下面显示的windows系统字符集: 即:当windows用utf8字符集显示不了时,用本地字符集代码页映射显示(个人理解) 现在window支持(ANSI(gbk)和unicode)字符集...查看windows 系统字符集 本文教你快速查看windows 的字符集: 方式一 1、打开CMD 命令行 开始->输入cmd 2、右击菜单栏进入属性 3、...查找系统字符集 红色部分就是当前系统的字符集 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/136377.html原文链接:https

    2.5K30

    字符集问题的初步探讨(五)

    我们知道在导出文件中,记录着导出使用的字符集id,通过查看导出文件头的第2、3个字节,我们可以找到16进制表示的字符集ID,在Windows上, 我们可以使用UltraEdit等工具打开dmp文件,查看其导出字符集...ZHT16HKSCS 364 870 AL24UTFFSS 366 871 UTF8...源数据库字符集为US7ASCII,导出文件字符集为US7ASCII或ZHS16GBK,目标数据库字符集为ZHS16GBK 在Oracle92中,我们发现对于这种情况,不论怎样处理,这个导出文件都无法正确导入到...以下是我们所做的简单测试,其中导出文件命名规则为: S-Server ,后跟Server字符集 C-client , 后跟导出操作时客户端字符集 导入时客户端字符集设置在命令行完成,限于篇幅,我们省略了部分测试过程...conventional path import done in ZHS16GBK character set and AL16UTF16 NCHAR character set export server uses UTF8

    86730

    字符集问题的初步探讨(三)

    字符集的更改 数据库创建以后,如果需要修改字符集,通常需要重建数据库,通过导入导出的方式来转换。...这意味着,你只能在新字符集是旧字符集严格超集的情况下使用这种方式转换。...所谓超集是指: 当前字符集中的每一个字符在新字符集中都可以表示,并使用同样的代码点 比如很多字符集都是US7ASCII的严格超集。...' 4) COMMIT; 我们看到很多人在这个问题上遇到了惨痛的教训,使用这种方式更改字符集,如果你的value$值输入了不正确的字符集,在8i中那么你 的数据库可能会无法启动,这种情况是非常严重的...实际上当我们更新了字符集,数据库启动时会根据数据库的字符集自动的来修改控制文件的字符集,如果字符集可以识别,更新控制文 件字符集等于数据库字符集;如果字符集不可识别,那么控制文件字符集更新为US7ASCII

    60720

    字符集问题的初步探讨(一)

    通过全球支持,Oracle可以支持多种语言及字符集,得以展示数据库的强大魅力。 由于不同语言及字符集的共同存储存在设置上具有一定的复杂性,字符集一度成为普遍困扰大家的一个主要问题。...本文试图就一些常见问题进行探讨,希望可以把一些实际经验共享给大家! 1. 字符集的基本知识 如果从头说起,字符集最早的编码方案来自于与ASCII. 这也是我们最常见的编码方式。...为了容纳全世界各种语言的所有字符和符号,解决不同编码之间的兼容和转换问题,1991年元月,10多家公司共同出资,组建Unicode协会,随后Unicode编码产生了。...诚然,Unicode方案可以表示更多的字符,但是由于多位的存储,需要额外的存储空间和网络传输,所以选择最适合的数据库字符集仍然需要慎重考虑。

    56410
    领券