logo   

(转)PHP截取汉字乱码时发生乱码解决办法 - PHP基础编程(问答求助) - PHP China | 中国开源之路 PHPChina|php论坛|Zend中国 - Powered by Discuz!

由于汉字是两个字节构成,因此在用普通的截取函数对汉字进行截取时容易发生乱码的情况,这中情况下我们使用mb_substr函数就不会出现乱码了.
首先
1.确保你的Windows/system32下有php_mbstring.dll这个文件,没有就从你Php安装目录extensions里拷入Windows/system32里面。
2.在windows目录下找到php.ini打开编辑,搜索mbstring.dll,找到
;extension=php_mbstring.dll把前面的;号去掉,这样mb_substr函数就可以生效了
mb_strcut函数功能也可以截取字符串长度,下面实例具体看看区别在哪:
复制PHP内容到剪贴板
PHP代码:

<?php
$str = '这样一来我的字符串就不会有乱码^_^';
echo "mb_substr:" . mb_substr($str, 0, 7, 'utf-8');
//输出:这样一来我的字
echo "<br>";
echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8');
//输出:这样
?>

从实验的输出来看在也不会出现汉字乱码了,从上面的例子可以看出,mb_substr是按字来切分字符,而mb_strcut是按字节来切分字符,其实这个函数非常简单,只是很多人可能没注意到而已.生半个字符的现象。
Tags:
访问文章出处: http://www.phpchina.com/bbs/viewthread.php?tid=87611((转)PHP截取汉字乱码时发生乱码解决办法 - PHP基础编程(问答求助) - PHP China | 中国开源之路 PHPChina|php论坛|Zend中国 - Powered by Discuz!)

上一篇: 【求】PHP缓存类_百度知道
下一篇: gridview排序 - xufei0110 - JavaEye技术网站