• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:HTMLがSHIFT-JISにならない)

HTMLがSHIFT-JISにならない

このQ&Aのポイント
  • HTMLファイルのcharset設定をSHIFT_JISにしても、PCでアクセスするとUTF-8で表示されてしまう問題が発生しています。
  • 携帯電話用サイトを作成しているが、HTML自体の文字コードはSHIFT-JISで保存しているにも関わらず、スマートフォン(Android)で文字化けしている。
  • charsetでSHIFT_JISを指定し、ファイルもSHIFT_JISで保存しているのにUTF-8になってしまう理由がわからない。同じような現象を経験したことがある人は助けてほしい。

質問者が選んだベストアンサー

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.4

 サーバーへは、テキストモードで転送します。バイナリではありません。テキストモードで転送すると、サーバーの改行コードに合わせます。  通常は、 <meta http-equiv="content-type" content="text/html; charset=Shift_JIS">  の記述があれば、HTTP応答ヘッダに関わらず、ブラウザはそれに従うはずです。元々はサーバーが<meta>を理解してくれる想定でしたが、そのような動作をするサーバーはありません。 >PCでアクセスした時にUTF-8で表示され文字化けされてしまいます。  これをどのように判断されたのか疑問です。もし、ブラウザの文字エンコーディングでUTF-8を選択すると、きちんと表示されるのでしたら 「ファイルもSHIFT_JISで保存しているのにも関わらず」 を疑います。ローカルでブラウザからそのファイルを開いたら・・・  もし、ブラウザのエンコーディングでUTF-8を選択するときちんと表示されるのでしたら、文字コードがUTF-8で保存されています。  一方、ブラウザのエンコーディング指定を(正確には)Shift_JISにすると、きちんと表示されるなら、ブラウザが文字コードをUTF-8と判断しているということですから  HTMLの前に、UTFと判断する何か余分なものが入っていませんか? たとえばBOM(unicodeサイン)とかが残っている。UNICODEの文字--空白とか--が入っているとか。  サーバーの応答ヘッダは、firefoxをご利用でしたら、Live HTTP Headers( https://addons.mozilla.jp/firefox/details/3829 )と言うアドオンで調べることが出来ます。  また、 Another HTML-lint gateway ( http://openlab.ring.gr.jp/k16/htmllint/htmllint.html )  でURLを指定してチェックすると、文字コードの一致性が判別できます。それ以外を原因とするエラーもチェックできます。

その他の回答 (3)

  • catstyle
  • ベストアンサー率0% (0/1)
回答No.3

PCでアクセスしたときにUTF-8で表示されているというのはどこで確認しましたか? もし、差支えなければそのURLを教えてもらえれば、原因を見つけやすいかもしれません。

回答No.2

ブラウザが「UTF-8として解釈する」のでしょうか。 そうであるならば,とりあえず送信されてくるHTTPヘッダ情報を見てみるとよいかと。 # IEならばF12 開発者ツール - ネットワーク - キャプチャ - 該当項目詳細 - 応答ヘッダー HTTPヘッダで指定されているContent-TypeフィールドはMeta要素での指定より優先されます。 HTTPヘッダで Content-Type: text/html; charset=UTF-8 と書かれていたならば,それを Content-Type: text/html; charset=Shift_JIS と返すように変更する必要があります。 # 方法はサーバーに依存。

  • kawais070
  • ベストアンサー率52% (2242/4283)
回答No.1

サーバーへファイルを転送するときにAsciiモードで転送していたりして。 転送モードをバイナリにしてみましょう。 転送モードが何のことかわからないならば、転送に使用しているソフト名と、サーバーのOSまたはサーバー提供会社の名前など、もう少し情報を補足に書いてください。

関連するQ&A