试图获得给定单词的所有字符的扩展ascii值

时间:2014-11-17 10:06:32

标签: php utf-8 character-encoding

我试图获得西班牙语单词的每个字符的值。

当单词包含一些字符时会出现问题,例如'ñ,á,é'会被转换为多字节字符。

我还测试了那些特殊词,编码格式是UTF-8,其他法线是ASCII:

$word = 'ñoñería';
for ($i = 0; $i < mb_strlen($word); $i++)
    echo mb_detect_encoding($word[$i]) . '<br />';

使用下面的代码我试图为我的单词的每个字符获取ascii但由于该多字节而无法工作:

$word = 'ñoñería';
for ($i = 0; $i < mb_strlen($word); $i++){
    echo ord(iconv('utf-8', 'CP437', $word[$i]));
}

如何解决它?

感谢您的建议。

1 个答案:

答案 0 :(得分:1)

<?php
$word = 'ñoñería';
                                      //'CP850' <- also supported but not listed in php docs
$wordLatin = mb_convert_encoding($word, 'ISO-8859-1', 'UTF-8');
for ($i = 0; $i < strlen($wordLatin); $i++){
    echo ord($wordLatin[$i]) . ' ';
}