php中文字符编码的长度,以及设置得到当前(内部)编码的函数

本文详细解析了GBK、GB2312、UTF8三种编码在处理中文字符时的长度差异,并通过echomod_strlen函数展示了实际应用情况。此外,介绍了如何使用mb_internal_encoding设置和获取当前的字符编码。
1.gbk 每个中文占1.5个字符,当有单个字的时候,独自占两个字符的位置
echo mb_strlen("哈哈", 'gbk');//输出3
echo mb_strlen("哈哈哈哈", 'gbk');//输出6
echo mb_strlen("哈哈哈", 'gbk');//输出4
echo mb_strlen("哈", 'gbk');//输出2


2.gb2312 每个中文占2个字符,当有单个字的时候,独自占两个字符的位置
echo mb_strlen("哈哈", 'gb2312');//输出4
echo mb_strlen("哈哈哈哈", 'gb2312');//输出8
echo mb_strlen("哈哈哈", 'gb2312');//输出6
echo mb_strlen("哈", 'gb2312');//输出2


3.utf8 每个中文占2个字符,当有单个字的时候,独自占1个字符的位置
echo mb_strlen("哈哈", 'utf8');//输出2
echo mb_strlen("哈哈哈哈", 'utf8');//输出4
echo mb_strlen("哈哈哈", 'utf8');//输出3
echo mb_strlen("哈", 'utf8');//输出1



4.mb_internal_encoding, 这个函数可以设置和得到当前的字符编码.

/* Set internal character encoding to UTF-8 */
mb_internal_encoding("UTF-8");

/* Display current internal character encoding */
echo mb_internal_encoding();//输出"UTF-8"


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值