gpt4 book ai didi

php - 如何从具有特殊编码的单词中获取每个字符

转载 作者:可可西里 更新时间:2023-11-01 12:37:07 24 4
gpt4 key购买 nike

我需要获取一个包含单词中所有字符的数组,但是当我执行以下代码时,单词中的字母具有特殊编码,例如 á:

$word = 'withá';

$word_arr = array();
for ($i=0;$i<strlen($word);$i++) {
$word_arr[] = $word[$i];
}

$word_arr = str_split($word);

我得到:

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字符串,所以就做

$word = 'withá';
$word = utf8_decode($word);
$word_arr = array();
for ($i=0;$i<strlen($word);$i++) {
$word_arr[] = $word[$i];
}

这样做的原因是,即使它在您的脚本中看起来是正确的,解释器也会将其转换为多字节字符(为什么 mb_split() 也能正常工作)。要将其转换为正确的 UTF-8 格式,您可以使用 mb 函数或仅指定 utf8_decode()

关于php - 如何从具有特殊编码的单词中获取每个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13501772/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com