let*_*cia 8 php encoding character-encoding tokenize
我需要从一个单词中获取包含所有字符的数组,但是当我执行以下代码时,单词具有特殊编码的字母,如á.
$word = 'withá';
$word_arr = array();
for ($i=0;$i<strlen($word);$i++) {
$word_arr[] = $word[$i];
}
Run Code Online (Sandbox Code Playgroud)
要么
$word_arr = str_split($word);
Run Code Online (Sandbox Code Playgroud)
我明白了:
array(6){[0] => string(1)"w"[1] => string(1)"i"[2] => string(1)"t"[3] => string(1) "h"[4] => string(1)"Ã"[5] => string(1)"¡"}
如何获取每个角色如下?
array(5){[0] => string(1)"w"[1] => string(1)"i"[2] => string(1)"t"[3] => string(1) "h"[4] => string(1)"á"}
因为它是一个UTF-8字符串,所以只需这样做
\n\n$word = 'with\xc3\xa1';\n$word = utf8_decode($word);\n$word_arr = array();\nfor ($i=0;$i<strlen($word);$i++) {\n $word_arr[] = $word[$i];\n}\nRun Code Online (Sandbox Code Playgroud)\n\n原因是,即使它在脚本中看起来正确,解释器也会将其转换为多字节字符(为什么mb_split()也有效)。要将其转换为正确的 UTF-8 格式,您可以使用 mb 函数或仅指定utf8_decode().
| 归档时间: |
|
| 查看次数: |
1071 次 |
| 最近记录: |