MySQL字符串和编码

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接口时很关键,尤其是两个系统如果对某字段字节长度的定义上存在字符集不一致的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值