htmlのページエンコード、UTF-8をブラウザが勝手に別のものと判断します。htmlの中やファイルそのものの文字コードは指定しています。


たしか、ヘッダの中に何か文字を入れておくと正常にUTF-8で判断してくれるのがあったような気がします。

それを教えてください。

また、それ以外にも方法があればお願いします。

回答の条件
  • 1人2回まで
  • 登録:2007/07/25 11:57:35
  • 終了:2007/08/01 12:00:05

回答(9件)

id:drowsy No.1

drowsy回答回数1163ベストアンサー獲得回数882007/07/25 12:01:22

ポイント16pt

ヘッダに

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

を追加してください。

…これでよかったでしょうか?

id:dingding

>htmlの中やファイルそのものの文字コードは指定しています

2007/07/25 12:45:24
id:taknt No.2

きゃづみぃ回答回数13537ベストアンサー獲得回数11982007/07/25 12:01:42

ポイント16pt

http://sakaguch.com/utf2.html

こちらは いかがでしょうか?

あと

<meta http-equiv=”content-type” content=”text/html; charset=utf-8”>

のを入れたらいいかもしれませんね。

(半角にしてください)

id:dingding

>htmlの中やファイルそのものの文字コードは指定しています

2007/07/25 12:45:29
id:nev No.3

nev回答回数77ベストアンサー獲得回数42007/07/25 12:06:23

ポイント16pt

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

id:dingding

>htmlの中やファイルそのものの文字コードは指定しています

2007/07/25 12:45:32
id:katzchang No.4

katzchang回答回数10ベストアンサー獲得回数12007/07/25 12:32:35

ポイント16pt

ですね。

yahooでも埋め込まれてますので、ご参考までに。

http://www.yahoo.co.jp/

id:dingding

yahooのはEUC用ですよね

2007/07/25 12:46:44
id:GEN111 No.5

GEN111回答回数472ベストアンサー獲得回数582007/07/25 13:31:10

ポイント16pt

BOM付きにするとかですかね。

(保存形式に UTF-8 と UTF-8N があれば UTF-8 にする)

XML用語事典 [BOM (Byte Order Mark)]

id:dingding

bomはブラウザは見てるんですか。

BOMつきにしていても、化けますね

2007/07/25 13:43:01
id:Yota No.6

Yota回答回数453ベストアンサー獲得回数282007/07/25 13:40:43

ポイント15pt

わたしの使っているブラウザ(Firefox2.0.0.5日本語版)について言います。ツール→ページの情報で一般タブを見ると文字エンコーディングはUTF-8となっています。その下のmeta要素一覧にもcontent-type:text/html; charset=utf-8

と書いてあります。この場合当然ブラウザはUTF-8を選択するはずです。

ところが、これはてなのページ(http://q.hatena.ne.jp/1185332254)ををわたしのパソコンのWebサーバ(Apache2.2.4)のDocumentRootにコピーして設定ファイル(httpd.conf)にAddDefaultCharset Shift_JISと書いた状態でアクセスするとヘッダの文字エンコーディングはShift_JISとなり(metaタグはutf-8)、文字化けを起こします。

つまり、サーバがレスポンスヘッダにShift_JISと書いてしまえば、metaタグなんて役に立ちません。

これを参考にもう一度確認してみてください。

id:dingding

なるほど。

その部分を調べてみます。

2007/07/25 13:44:10
id:tezcello No.7

tezcello回答回数459ベストアンサー獲得回数692007/07/25 14:52:05

ポイント15pt

metaタグを書いても応答してくれないのなら、そのブラウザはファイルの中身を見て判断しているのでは無いのかも知れません。

httpヘッダをチャンと渡せば思うように表示できるかも知れませんが、PHP等で出力する( header('Content-Type: text/html; charset=UTF-8'); )か、httpd.conf か .htaccess を修正(デフォルトのキャラクタセットを UTF-8 にする)する必要があります。

id:dingding

ありがとうございます。試してみます。

2007/07/25 16:41:12
id:Cecilchan No.8

Cecilchan回答回数13ベストアンサー獲得回数12007/07/25 15:37:47

ポイント15pt

.htaccessがおける場合ならば、

AddType "text/html; charset=utf-8" html htm

を書けばどうでしょうか?

id:dingding

ありがとうございます。試してみます。

2007/07/25 16:41:09
id:Bookmarker No.9

しおり回答回数191ベストアンサー獲得回数342007/07/29 11:06:40

ポイント15pt

エンコーディングは、HTTP ヘッダーが最優先されます。

文字符号化方法の指定

本仕様に適合するユーザエージェントは、文書の文字符号化方法を決定する場合に次の優先順位を守らねばならないということである。優先順位の高いものから低いもの順に以下の通り。

  1. HTTPヘッダのContent-Typeフィールドの、charsetパラメータ。
  2. META要素で、http-equiv属性値がContent-Typeかつvalue属性の値にcharset情報があるもの。
  3. 外部リソースを指している要素に設定されているcharset属性値。

# HTTP ヘッダーの確認は、Firefox なら Live HTTP Headers を使うと簡単に確認できます。

また、META 要素で指定する場合は、META 要素を記述する場所に注意する必要があります。

META宣言は、少なくともそのMETA要素がパースされるまでの間はASCIIの範囲内のバイト値がASCIIと同じ文字を表すような文字符号化方法が使われている場合にのみ用いることができる。META宣言は、HEAD要素の、可能な限り先頭の方に現れねばならない。

id:dingding

>エンコーディングは、HTTP ヘッダーが最優先されます。

これは知りませんでした。とても参考になります。ありがとうございます。

2007/07/29 14:59:28

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません