私はこのコードを持っていません。特殊文字は出力が正しく
$line = 'ABBEKÅS';
echo 'word is '.$line.PHP_EOL;
for($i=0;$i<strlen($line);$i++){
echo 'char '.$line[$i].PHP_EOL;
}
を結果は次のとおりです。単一の文字はそうではない
word is ABBEKÅS
char A
char B
char B
char E
char K
char ?
char ?
char S
はなぜ言葉が良く見えますか? 私は両方ともutf-8とISOの両方を役に立たないものに変換しようとしました。これは私が試したものです:
$line = iconv("UTF-8", "ISO-8859-1", $line);
と
$line = iconv("ISO-8859-1", "UTF-8", $line);
結果はまだ同じです。
あなたはforループの中で各文字が1バイトだけであると仮定しているので(あなたは一度に1文字ずつバイトを繰り返します)、あなたのÅはマルチバイト文字 –