2012-04-17 9 views
0

「Entrée」という単語を表示する簡単なWebページがあります。 Web上では完璧に見えますが、AndroidでHTTPClientを使用してこの単一の単語を表示するWebページを表示すると、「é」の処理方法はわかりません。私はキャラクターコードなどに精通していませんが、私は周りを見てきており、ほとんどの人がUTF-8を推薦しているのを見ました。 Androidがこの特殊文字を読めるようにするにはどうすればよいですか?PHPページからの特殊文字は表示されません

ウェブページのPHPコード:

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

任意のアイデア?

+0

これは、Androidではなく、PHPと関係しています。 –

+1

@ The Man PHPスクリプトによって設定された文字エンコーディング(not)に応じて、 –

+0

おそらく、私が "é"を置き換えるために使用できるPHPコードには、Androidとウェブページでうまく表示されるものがあります。 – EGHDK

答えて

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 はUTF-8(ないANSIとして、あなたのPHPファイルを保存してくださいに必要、ASCII、Windows-1252など)またはéがすべて乱され、ヘッダー設定が修正されません。ほとんどのエディタはANSIで保存されますが、これはエディタでうまく見えるかもしれませんが、ブラウザで見るとあなたの顔が爆破します。

+0

そのコードは私にウェブページ上の "Entr e"の出力を与えました。いくつか微調整を試みます。編集:それはまた、Androidアプリケーションでも "Entr e"の出力を与えました。 – EGHDK

+0

PHPファイルをUTF-8として保存しましたか?あなたのPHPスクリプトが正しい 'Content-Type'ヘッダーを送信している場合は、Chrome Developer ToolsまたはFirebugで確認することもできます。 –

+0

私はちょうど上記のPHPスニペットを試して、私はANSIとして保存しようとメモ帳に走った...あなたは本当にUTF - 8として強制する必要がありますし、それが動作します:)ああ、SFTP/SCP FTPの場合)は、時間が来たら、テキストファイルを使用してサーバーにファイルをアップロードすると考えるものを混乱させる傾向がありません。 –