function cnSubstr($string,$strlen,$other=true) 
{
for($i=0;$i<$strlen;$i++)
{
if(ord(substr($string,$i,1))>0xa0) 
{
$j++;
}
if($j%2!=0) 
{
$strlen++;
}
$rstr = substr($string,0,$strlen);
if (strlen($string)>$strlen && $other)
{
$rstr .='...';
}
}
return $rstr;
}

解决方案 »

  1.   

    到faq去看看吧,里面有很多关于取中文字符的东西拉
      

  2.   

    /* 函数 sub_str($text, $length)
    ** 功能 从文本中截取指定长度字符串,考虑了对中文的处理
    ** 参数 $text 要截取的文本
    ** 参数 $length 要截取的字符串长度
    */
    function sub_str($text, $length)
    {
    for ($i=0; $i<$length; $i++)
    {
    $chr = substr($text, $i, 1);
    if (ord($chr) > 0x80)//字符是中文
    {
    $length++;
    $i++;
    } }
    $str = substr($text, 0, $length); 
    return $str;
    }
      

  3.   

    我现在却有另外一个问题:
    就是原来在mysql中的字段值是正确的:如“我们”,但是读出数据到脚本参数中时,居然显示为“我”后面是乱码了,所以找不到封闭的“'”符号了,显示“未完成脚本”。
    大家有遇到这样的情况吗?