PHP提供了一系列字符串处理函数,很多初学者试图用 substr() 函数截取一段中文字符中的一部分,但往往最后一个汉字会出现乱码,因为汉字编码不同于字母数字,一个汉字需要占用若干字节来存储,不同编码下占用字节数也不一样;
截取中文字符串另有一个函数:mb_substr(String $str, int $StartIndex, int $length, String $charset);
参数:
$str:待截取的字符串;
$StartIndex:要截取部分的开始位置(从0开始);
$length:需要截取的汉字个数;
$charset:汉字的编码;
举例:在utf-8编码的php文件中,echo mb_substr("汉字编码", 2, 2, ‘utf-8‘) 得到的结果是:“编码”。