Luc*_*ssi 5 php string encoding multibyte
这是我的问题:我的语言(葡萄牙语)使用ISO-8859-1字符编码!当我想要访问像'coração'(心脏)这样的字符串中的字符时,我使用:
mb_internal_encoding('ISO-8859-1');
$str = "coração";
$len = mb_strlen($str,'UTF-8');
for($i=0;$i<$len;++$i)
echo mb_substr($str, $i, 1, 'UTF-8')."<br/>";
Run Code Online (Sandbox Code Playgroud)
这会产生:
c o r a ç ã o
这工作正常...但我的问题是,如果使用mb_substr函数不是快速简单的字符串正常访问!但我想要一个简单的方法来做到这一点....就像在正常的字符串字符访问:echo $ str [$ pos] ....有可能吗?
... 有点。如果您使用固定宽度编码(BMP 中的 ISO 8859-*、UCS-2、UTF-32 或 UTF-16),则可以使用固定乘数进行字符访问。不过,您仍然需要对多字节编码进行多次访问。