1.由于服务端使用的Go,默认是使用UTF-8编码的,而JS默认是Unicode编码的(也就是UTF-16),所以为了字符串编码的一致性,将前端字符串数据编码转换为UTF-8之后再发送给服务端,服务端发送过来的字符串数据转换回UTF-16再使用. PS:关于编码可参考<关于编码:Unicode/UTF-8/UTF-16/UTF-32> 2.UTF-16转UTF-8 var utf16ToUtf8 = function (utf16Str) { var utf8Arr = []; var byt…
开发中遇到一个奇怪的问题:报错如下: iconv() [<a href='function.iconv'>function.iconv</a>] : Wrong charset, conversion from `gbk' to `utf8′ is not allowed at line 24 查来查去,也没发现有什么问题,后来经请教同事,原来是utf8应改为utf-8,可能是由于linux函数库中就是utf-8吧,所以以后建议使用utf-8,增加兼容性. 还有一点:json格式数…
As UTF-8 is an 8-bit encoding no BOM is required and anyU+FEFF character in the decoded Unicode string (even if it’s the firstcharacter) is treated as a ZERO WIDTH NO-BREAK SPACE. UTF-8以字节为编码单元,它的字节顺序在所有系统中都是一様的,没有字节序的问题,也因此它实际上并不需要BOM(“ByteOrder Mar…
mariadb配置文件修改字符集: [mysqld] atadir=/usr/local/mysql/datasocket=/tmp/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links= # # Settings user and group are ignored when systemd is used. # # If you need t…
utf8_general_ci 不区分大小写,这个你在注册用户名和邮箱的时候就要使用. utf8_general_cs 区分大小写,如果用户名和邮箱用这个 就会照成不良后果 utf8_bin: compare strings by the binary value of each character in the string 将字符串每个字符串用二进制数据编译存储. 区分大小写,而且可以存二进制的内容 举例说明: 如果你的Sql查询语句: where first_name="Bob"…