关于使用substr截取包含多字节的字符串而出现乱码的问题

1.我用substr截取從數據庫中取出的字符串,發現有數字,英文,半角標點時,都會在最後帶上一個?,請問如何解決.
謝謝.
---------------------------------------------------------------

/*----------------------------
mb_substr字符的截取,不会出现乱码.他是一个一个字符算的.

需要加载mbstring在php.ini中
----------------------------*/
echo mb_substr("啊方腊qwerq十分可;",0,5);

用这个东东不会出你让的那个什么问题.很好用.

后几个问题.上面那位是大腕不敢多说了.
学习学习.呵呵.
---------------------------------------------------------------

---------------------------------------------------------------
---------------------------------------------------------------
临时写了一个
function m_substr($str,$start,$len){
/(qiushuiwuhen 2002-10-10)/
preg_match_all("/[\\x80-\\xff]?./",$str,$arr);
return implode(array_slice($arr[0],$start,$len),"");
}

---------------------------------------------------------------

精简了一下:

=128&⩝(substr($str,$i+1,1))>=64) $i++; return $i; } function m_substr($str,$start,$len) { $startPos=findPos($str,0,$start);//用到上面的函数 $endPos=findPos($str,$startPos,$len); return substr($str,$startPos,$endPos-$startPos); } //eg: $str="a的中人国d,dfa;/人都是sdfadsfafd"; echo m_substr($str,2,4); ?>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus