0

uIP ライブラリを使用して C で記述された組み込み Web サーバーがマイクロコントローラーにあり、http get に応答して次の静的テキストを出力します。以下に、C リテラル文字列として示します。

"HTTP/1.0 200 OK\r\n"
"Server: UIP/1.0 (http://www.something.com/)\r\n"
"Content-type: text\html\r\n"

その直後に、doctype 文字列 \ と、要求されたページの \ ... \</html> 本体が続きます。このコードは私が書いたものではありませんが、手渡されました。現在、Opera、Firefox、Internet Explorer で試しています。Web ページ全体で Ansi/C が使用されており、特別な文字列やバイトは使用されていません。ただし、Opera でのみ適切にロードおよび表示されます。何らかの理由で、この特定の uIP ベースの Web ブラウザーは IE 8 または Firefox でレンダリングされません。

![代替テキスト][1]

基本/デフォルトの C/ansi コードページのマイクロ Web サーバー エンコーディングを、opera だけでなくすべてのブラウザーで適切に検出するには、http ヘッダーに何を追加できますか?

4

1 に答える 1

4

静的テキストを次のテキストに置き換えてみてください。

"HTTP/1.0 200 OK\r\n"
"Server: UIP/1.0 (http://www.something.com/)\r\n"
"Content-type: text/html; charset=utf-8\r\n"

:バックスラッシュ(「\」)文字はエスケープ文字です。静的文字列では、「text\html」で「\h」を実行しました

:「charset=utf-8」の部分は、ファイルが utf-8 エンコードの場合にのみ役立ちます

于 2010-06-30T23:49:34.947 に答える