我试图获得西班牙语单词的每个字符的值。
当单词包含一些字符时会出现问题,例如'ñ,á,é'会被转换为多字节字符。
我还测试了那些特殊词,编码格式是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]));
}
如何解决它?
感谢您的建议。
答案 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]) . ' ';
}