中文字符串截取乱码问题

1、问题描述

使用substr截取中文字符串,截取的部分乱码,英文就没有该问题

2、解决办法

Example :

1

2

3

$rest = substr ("abcdef", 1, -1); // returns "bcde"

?>

对于英文没有问题,我们测试一个中文

1

2

3

$rest = substr ("中国人", 1, -1); // returns "fdsafsda" 就是乱码了

?>

 

一、使用mbstring扩展库的mb_substr()截取就不会出现乱码了。

可以用mb_substr()/mb_strcut()这个函数,mb_substr()/mb_strcut()的用法与substr()相似,只是在mb_substr()/mb_strcut最后要加入多一个参数,以设定字符串的编码,但是一般的服务器都没打开php_mbstring.dll,需要在php.ini在把php_mbstring.dll打开。

  echo mb_substr("php中文字符encode",0,4,"utf-8");

?>

你可能感兴趣的:(项目)