标准的UTF-8 字符集编码,是可以用 1~4 个字节去编码21位字符,是一种变长的编码格式,这几乎包含了是世界上所有能看见的语言了。
然而在MySQL里实现的utf8最长使用3个字节,节省空间但不能表达全部的UTF-8,只支持到了 Unicode 中的“基本多文种平面”(U+0000至U+FFFF,Basic Multilingual Plane,BMP),但并不是所有。现在手机端常用的表情字符 emoji和一些不常用的汉字需要四个字节才能编码出来。
MySQL在 5.5.3 之后增加了 utf8mb4 字符编码,mb4即 most bytes 4,使用4个字节来表示完整的UTF-8,是utf8 的超集并完全兼容utf8,能够用4个字节存储更多的字符。
utf8mb4_bin: 将字符串每个字符用二进制数据编译存储,区分大小写,而且可以存二进制的内容。
utf8mb4_general_ci :不区分大小写,不支持扩展,它仅能够在字符之间进行逐个比较,没有实现Unicode排序规则,在遇到某些特殊语言或者字符集,排序结果可能不一致。但是,在绝大多数情况下,这些特殊字符的顺序并不需要那么精确。
utf8mb4_unicode_ci :是基于标准的unicode来排序和比较,能够在各种语言之间精确排序,unicode排序规则为了能够处理特殊字符的情况,实现了略微复杂的排序算法。
_bin : binary case sensitive collation,区分大小写的
_cs : case sensitive collation,区分大小写
_ci : case insensitive collation,不区分大小写
主要从排序准确性和性能两方面看:
参考链接: https://www.cnblogs.com/qingfengEthan/p/11326741.html
特别之处没有,就是设置网页的字符集,告诉浏览器以此种编码解释该页面。
1、字符集在网页中的设置方法为:
<meta charset="utf-8">//也可以使用其他字符集2、如果在网页中声明的字符集与文件本身保存的编码字符集不一致时就会导致浏览器解析该页面为乱码。如声明为utf-8,用编辑器保存该页面时保存的编码是gb2312,则此时浏览器就会以utf-8的编码去解释gb2312的字符就会显示乱码,所以两者一定要一致才能正常显示。
转载:http://www.boke8.net/wordpress-mysql-1273-error.htmlwordpress官方的相关说明是只要在数据库支持utf8mb4的时候会把部分数据表的编码升级为utf8mb4,如果不支持就不会转化为utf8mb4编码(wordpress 4.4版本支持mysql 5.0+)。
解决方法:
方法一:替换编码
使用代码编辑器打开导出的sql数据文件;
先查找:
utf8mb4_unicode_ci
替换为:
utf8_general_ci
再查找
utf8mb4
替换为
utf8
注意:一定要按照上面的顺序进行替换,否则不能替换成功。
PS:博客吧通过该方法导入成功,暂时没有发现有问题,但还是要先备份好数据再进行 *** 作。
方法二:把网站要用的mysql数据库升级到5.5.3以上版本。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)