您的位置:首页 > 编程语言 > PHP开发

php解决中文字符串截取的乱码问题

2013-12-02 15:10 1036 查看
utf8字符集中:
占2个字节的:〇
占3个字节的:基本等同于GBK,含21000多个汉字
占4个字节的:中日韩超大字符集里面的汉字,有5万多个


用substr()函数进行截取有可能不到位,下面附上能解决问题的源码(基于大多数汉字):
<?php
function utf_substr($str,$len)
{
for($i=0;$i<$len;$i++)
{
$temp_str=substr($str,0,1);
if(ord($temp_str) > 127)
{
$i++;
if($i<$len)
{
$new_str[]=substr($str,0,3);
$str=substr($str,3);
}
}
else
{
$new_str[]=substr($str,0,1);
$str=substr($str,1);
}
}
return join($new_str);
}
$str = "黄刚总经理在参加集团公司安全生产大检查总结视频会后要求 抓好问题整改";
echo utf_substr($str,34);
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息