外出自粛中でも楽しく過ごす!QAまとめ>>

前提として、当方、文字コードについての文章を何度読んでも理解できていないのですが・・・
==============================================================


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に対して名言して出力してしまえば、
このような問題は起こらない、というような内容の文章をどこかで見かけたような記憶もするのですが、
とりあえず、それは不可能という前提で、教えていただければと思います。


以上、よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

> (ちなみにYahoo!Japanは以前SJISを用いていたとき、同様の理屈からか「<!--京-->」というソースをページの先頭のほうにかいていました。



Yahoo! JAPANは以前はサービス全体でEUC-JPを使用していました。
少なくてもトップページはEUC-JPでした(SJISではないですよ)。

Y!の <!--京--> もやはり文字化け対策として入れられていたようですが
本当に効果があったかどうかは定かじゃありません。

そもそも、エンコードの機械判別は厳密には難しいでしょう。
ページの先頭何文字かに含まれるエンコードとContent-typeに出力
されたcharset及びmetaタグのcharsetやブラウザの言語コードなどから
判別しようとするようですがこれが存在しなかったり間違っていたり
する場合も多いです。
(IEは判別できなかったり間違っているとOSのデフォルトロケールを
使用しようとする事があるみたいですが)

なお、本当に適切なHTMLなら必ずtitleタグの前に文字コードを指定
しておきましょう。
完全に間違いがなくブラウザ側が判別できるエンコードなら通常、
文字化けが起こることはないはずです(それでも確実とは言えませんが)。
    • good
    • 0

> 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>が最初に入ってるので文字化けはしませんが。
    • good
    • 0

意味はありますが、たまに起こる文字化けの中でEUCが最も頻度が高いようなのであまり使うことはないと思います。


macのsafariで起こる問題のようなので、実際に確認されてみてはどうでしょう?
環境が手元に無い場合、スクリーンショットを取ってくれるサービス等もあるのでそちらを利用してみると良いかもしれません。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q未、済、完了の英訳は?

前回類似件名で質問したのですが、
質問の仕方があまり良くなかったと思い質問し直させて頂きます。

ある項目に対して「未」、「済」、「完了」のいずれかを選択させたい帳票があるのですが、
これを英語で実現するにはどのような単語が当てはまるのでしょうか?(1,2語程度で)
「済」、「完了」については「done」が好ましいのかなと思っていますが
いかがでしょうか?

宜しくお願い致します。

Aベストアンサー

No. 2 です。

なるほど。。。
そういうことなのでしたら、“Done” と “Not Yet” が適切だと思います。

“Yet” は単独で用いられる場合、『まだ~ない』という意味に取られることはなく、接続詞の『でも』の意味で取られます。
なので、選択肢が “Done” と “Yet” であったとしても、理解してもらえない可能性が残ります。
それを排除するためには、“Not Yet” とするべきだと思います。

ご参考まで。^^


人気Q&Aランキング