在多字节字符串php中访问字符
我有mbstring.func_重载=7并使用UTF-8。一切正常,但这不是:在多字节字符串php中访问字符,php,Php,我有mbstring.func_重载=7并使用UTF-8。一切正常,但这不是: $str = "ãçéíõ"; echo $str[0]; 它在浏览器中打印一个问号 相反,这可以正常工作: echo substr($str,0,1); 有人知道为什么吗?用$str[0]索引字符串从中提取字节。无论mbstring.func\u重载是否已设置,它都无法识别编码。即使不方便,也需要使用substr 索引到字符串是一个严重的编码错误,除非该字符串表示一个blob,而且您刚刚找到了原因。是的,这是因
$str = "ãçéíõ";
echo $str[0];
它在浏览器中打印一个问号
相反,这可以正常工作:
echo substr($str,0,1);
有人知道为什么吗?用
$str[0]索引字符串
从中提取字节。无论mbstring.func\u重载
是否已设置,它都无法识别编码。即使不方便,也需要使用substr
索引到字符串是一个严重的编码错误,除非该字符串表示一个blob,而且您刚刚找到了原因。是的,这是因为您使用的是多字节字符串,其中单个字符由一到四个字节表示。如果只选择一个字节(如
$str[0]
),则可能只选择了半个字符。
substr()