[求助]截取汉字字符串时出现乱码

[求助]截取汉字字符串时出现乱码

在对一篇文章进行分句的时候,我按"/,。?\s/"来分句,发现出现乱码,就是将汉字拆成两部分那种,所以分出的句子比实际的要多,好多句子还是乱码。我将"/,。?\s/"替换成特殊字符“$#$”,这样发现还是和上面的一样。应该怎样才能将句子分出来,不出现乱码呢?

http://www.phpfans.net/bbs/PHPfunction.php?function=mb_substr

echo mb_substr('php爱好者', 0, 4, 'gb2312');
如履薄冰

这个函数不错,但只能用gb2132,我的所有页面都是UTF-8的,所以看到的是乱码,是不是只有把文件转成UTF-8的才能正确用上面那个函数读?

支持多编码的
echo mb_substr('php爱好者', 0, 4, 'UTF-8');
如履薄冰

说错了,我要打开的文件不是UTF-8储存的,用mb_substr($file,0,50,"UTF-8")打开在UTF-8页面中是乱码,用mb_substr($file,0,50,"gb2312")打开在UTF-8页面中也是乱码。找到了,我先把文件读出的字符转换为UTF-8的才能正确显示。

[复制到剪切板]
CODE:
$aa=file("E:/a.txt");
$b=iconv("gb2312","utf-8",$aa[0]);
echo 
mb_substr($b,0,10,"utf-8"); ;

找了好久转字符集的那个函数
如履薄冰

看起来和iconv()的用途差不多,问题解决了,谢谢啊