
前提として、当方、文字コードについての文章を何度読んでも理解できていないのですが・・・
==============================================================
http://blog.goo.ne.jp/
のHTMLソースにあるように、
EUCのソースでは、<!--龠龠龠-->という文字列をページの銭湯のほうにおいて、UAによる文字化けのみすを防いでいるようです。
http://www.shtml.jp/mojibake/binew.html
から引用しますと、
====================================================
Shift_JISにおいては、2バイト文字の2バイト目は0x40~0x7E、0x80~0xFCの範囲にあります。
したがって、0xFDや0xFEは使われていません。
これらのコードを持つ文字がもし現れているのならば、
ブラウザはShift_JISでないとすぐに判断できるはずですから、
文字化けが発生しないという理屈です。
では、EUC-JPにおいて2バイト目が0xFD及び0xFEを持つ文字とはどのような文字でしょうか?
EUC-JPの存在領域から考えて、1バイト目は0xA1~0xFEになります。ここでプログラムで出力しますと
(中略)
====================================================
。。。。ということで、
「龠」という文字は、2バイト文字目が0xFEとなるEUC-JPという理屈だそうです
(ちなみにYahoo!Japanは以前SJISを用いていたとき、同様の理屈からか「<!--京-->」というソースをページの先頭のほうにかいていました。
なお、Yahoo!Japanは今はutf8です。(Yahoo!の全サービスでそうなのかはわかりかねますが))
・・・と思ったら、
http://earthproject.yahoo.co.jp/
のページではEUCで、
<!--京-->というHTMLソースがありました。
そこで、質問なのですが、
HTMlファイルがUTF8の場合は、こういったコザイクは無意味というか無駄なのでしょうか?
あるいはもし意味があるとすれば、どういった文字列をHTMLのコメントに書いておけばいいのでしょうか?
文字コードの仕組みが分かっていれば、こういうしつもんもしないかもしれないですが。。。
===
なお、どこかで、ApacheやPHPがいじれるのならば、httpヘッダを送る段階で、utf8だとUAに対して名言して出力してしまえば、
このような問題は起こらない、というような内容の文章をどこかで見かけたような記憶もするのですが、
とりあえず、それは不可能という前提で、教えていただければと思います。
以上、よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
> (ちなみにYahoo!Japanは以前SJISを用いていたとき、同様の理屈からか「<!--京-->」というソースをページの先頭のほうにかいていました。
Yahoo! JAPANは以前はサービス全体でEUC-JPを使用していました。
少なくてもトップページはEUC-JPでした(SJISではないですよ)。
Y!の <!--京--> もやはり文字化け対策として入れられていたようですが
本当に効果があったかどうかは定かじゃありません。
そもそも、エンコードの機械判別は厳密には難しいでしょう。
ページの先頭何文字かに含まれるエンコードとContent-typeに出力
されたcharset及びmetaタグのcharsetやブラウザの言語コードなどから
判別しようとするようですがこれが存在しなかったり間違っていたり
する場合も多いです。
(IEは判別できなかったり間違っているとOSのデフォルトロケールを
使用しようとする事があるみたいですが)
なお、本当に適切なHTMLなら必ずtitleタグの前に文字コードを指定
しておきましょう。
完全に間違いがなくブラウザ側が判別できるエンコードなら通常、
文字化けが起こることはないはずです(それでも確実とは言えませんが)。
No.2
- 回答日時:
> HTMlファイルがUTF8の場合は、こういったコザイクは無意味というか無駄なのでしょうか?
UTF-8でも文字化けの可能性はありますが、
文字コードが指定されていれば、まともなブラウザであれば文字化けは起こりません。
httpヘッダの替わりに
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
というのがありますが、これは使えませんか?
> http://earthproject.yahoo.co.jp/
> のページではEUCで、
> <!--京-->というHTMLソースがありました。
<title>の前に入れないと意味はないと思います。
<meta>が最初に入ってるので文字化けはしませんが。
No.1
- 回答日時:
意味はありますが、たまに起こる文字化けの中でEUCが最も頻度が高いようなのであまり使うことはないと思います。
macのsafariで起こる問題のようなので、実際に確認されてみてはどうでしょう?
環境が手元に無い場合、スクリーンショットを取ってくれるサービス等もあるのでそちらを利用してみると良いかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ソースの追加行数と変更行数
-
staticな関数をテストする方法...
-
「MicrosoftVisualBasic6.0 行...
-
文字化けについて
-
マウスポインタが手の形になら...
-
ソースを表示させない方法はあ...
-
VB詳しい方
-
コメントが閉じてないというエ...
-
#ifdef多用でソースが見づらい
-
c言語の改修されたソースから改...
-
マウスを動かすとその後を追っ...
-
VisualStudio2010でデバッグソ...
-
HTMLメール内のコメント
-
HTMLからフォルダを開きたい
-
iPadの標準ブラウザでローカルH...
-
テキストエディタ grepの機能...
-
Excelで、社外秘(閲覧のみ)と...
-
HTMLページが勝手にダウンロー...
-
VBA URLDownloadToFileについて
-
HTMLで別PCのフォルダを開く
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ソースの追加行数と変更行数
-
VBAで#Regionに変わるものは無...
-
レストラン、英語のメニュー表記
-
Dreamweaverのコードカラーが黒...
-
JSPの実行結果をHTMLに変換
-
#ifdef多用でソースが見づらい
-
ホームページ作成
-
IE(Ver 6.0)の文字化け 表示/...
-
Visual Source Safe?
-
HTMLメール内のコメント
-
レンタルショップGEOのHPの作ら...
-
blogのソースで、文字化けを直...
-
ブラウザ内でhtmlソースがレタ...
-
Xoops初めてです 教えてください
-
generatorとは?
-
マウスポインタが手の形になら...
-
ワードで作ったホームページに...
-
ログインソースを見つけられない
-
CSSのfont-weight設定 MACで表...
-
エンコードが狂ってしまう
おすすめ情報