1、UTF-8和UTF8有区别,在mysql_query中使用utf-8可能会导致phpmyadmin显示乱码
2、utf8_general_ci和utf8-unicode_ci有区别,前者效率更高,但后者比较规则更完备,一般使用前者
3、在PHP中UTF-8中文字符长度为3个字符,GBK长度为2个字符,可使用如下代码测试:
<?php
header(‘Content-Type:text/html;charset=UTF-8′);
$str=’中’;
echo strlen($str);
?>
结果为3;如果用mb_strlen($str,’utf8′),则结果为1
4、在MySQL中char(1)和varchar(1)均能存放一个汉字(或一个英文字符)
在超出长度时,自动做截断处理,并不报错
5、检测MySQL中字段内容实际字节(byte)长度,使用LENGTH(如下),
SELECT length( `subject` ) FROM t_deal_details;
如果想检测字符长度,则应该使用CHAR_LENGTH
这些细节在处理API接口时很关键,尤其是两个系统如果对某字段字节长度的定义上存在字符集不一致的情况。