A-A+
	ecshop解决中文字符串乱码的解决方法
在商城首页截取新闻的中文标题时,发现了乱码,更多的是断码,就是不能够正常的将中文字符全部给显示出来,其实这个问题在 php 中就已经突显出来了,因为一个中文是两个字符,所以在调整的时候就很困难,甚至出现乱码这样的问题。
解决的方法也很简单,小虎博客在网上找了两款截取中文的函数代码,一个是截取 UTF8 字符串格式的,一个是截取 gbk 字符串格式的,将这两款函数整合到 ecshop 当中就可以了,实例代码如下.
utf8格式截取中文字符串函数:
- <?php
 - //截取utf8字符串
 - function utf8Substr($str, $from, $len)
 - {
 - return preg_replace(‘#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,’.$from.’}’.
 - ‘((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,’.$len.’}).*#s’,
 - ‘$1′,$str);
 - }
 - ?>
 
gbk格式截取中文字符串函数:
- <?php
 - //截取中文字符串
 - function mysubstr($str, $start, $len) {
 - $tmpstr = “”;
 - $strlen = $start + $len;
 - for($i = 0; $i < $strlen; $i++) {
 - if(ord(substr($str, $i, 1)) > 0xa0) {
 - $tmpstr .= substr($str, $i, 2);
 - $i++;
 - } else
 - $tmpstr .= substr($str, $i, 1);
 - }
 - return $tmpstr;
 - }
 - ?>