0

「Entrée」という単語を表示する簡単な Web ページがあります。Web 上では完璧に見えますが、Android で HTTPClient を使用して、この単語を表示する Web ページを表示すると、「é」の処理方法がわかりません。私は文字コードなどに詳しくありませんが、いろいろ調べてみると、ほとんどの人が UTF-8 を推奨していることがわかりました。Android がこの特殊文字を読み取れるようにするにはどうすればよいですか?

Web ページの PHP コード:

<?php echo "Entrée"; ?>

何か案は?

4

1 に答える 1

2

これは、文字エンコードの問題である可能性が最も高いです。PHP スクリプトはおそらく正しい文字エンコーディング ヘッダーを設定していないため、ブラウザと Android は好きなものを想定します。

汚いので、これをしないでください:ほとんどの文字エンコーディングの問題を回避するため 簡単なハックは、 HTML entitesとして特殊な (ほとんどの場合非 ASCII) 文字をエスケープすることです。é は&eacute;例えばです。だけにしたい場合echo "Entrée"は、お気に入りのテキスト エディターで検索して置換するだけです。

代わりにこれを行うと、世界がより良い場所になります。

データベースなどからの動的テキストなど、静的な単語以外のものを出力する予定がある場合は、正しいことを行うように努める必要があります。PHP スクリプトが UTF-8 を出力し、正しいContent-Typeヘッダーが送信されるようにします。

私のPHPは非常にさびていますが、次のようなものがうまくいくはずです:

<?php
header('Content-type: text/plain; charset=UTF-8');
echo "Entrée";
?>

また、テキスト エディターまたは IDEが PHP ファイルを UTF-8 (ANSI、ASCII、Windows-1252 などではなく)として保存していることを確認する必要があります。ほとんどのエディターはたまたま ANSI で保存します。これは、エディターでは問題なく表示されるかもしれませんが、ブラウザーで表示すると顔が爆発します。é

于 2012-04-17T21:33:55.357 に答える