• ベストアンサー

HTMLでUniCode表示?

シフトJISエンコードのHTMLを下記のように作成して、 IE5.5で表示すると、正常に表示されるのですが、 なぜ表示されるのか、分かりません。 IE側のエンコードもシフトJISになっているのに、 どうして、⑴ の部分がUnicodeの9332番の 文字((1))を呼び出すのでしょうか? わかりにくい質問になってしまいましたが、 よろしくお願いします。 <html> <head> <title>TEST</title> </head> <body> あああaaa⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⒇あああaaa </body> </html>

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

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.5

「&#数値;」という記述は「文字参照」の一種で、「数値」を文字コードとする Unicode の文字を表示するものと定義されています。 ※これは Content-Type で指定した文字セットに関係なく、常に Unicode となります。 また、これは HTML4.0 に対応したブラウザならば、OSなどの環境に依存せず、問題なく表示されることになっています。 HTML4.0の仕様書に書かれていますので、こちらもご覧ください。 http://www.w3.org/TR/REC-html40/charset.html http://www.asahi-net.or.jp/~bd9y-ktu/html4rec_f/charset.html (日本語訳)

その他の回答 (4)

  • peron
  • ベストアンサー率45% (43/95)
回答No.4

面白い現象ですね サンプルをコピペしてMETAタグでShift_JISを指定し、ついでにaaaの後に<BR>&#x2600;を付けて色々なブラウザ&OSでテストしてみました。 XP上のNN7では総て表示されました(これは確信がありました NN6以降はユニコード対応の為・・OSに依存しない もちろん追加した最後のお天気マークも表示されました)同じXP上のIE6ではお天気マーク以外は表示、同じくNN4.7では全滅 ME上のIE5.5ではお天気マーク以外OK 同じくNN6では総て表示 98上のIE6でもお天気マーク以外は表示 不思議ですな・・・発見です

  • nuruhho44
  • ベストアンサー率57% (38/66)
回答No.3

 こういうのを「数値文字参照」というらしいです。他に「文字実体参照」というのもあります。  なぜ表示されるかと聞かれても「そうなっているから」としかお答えできないので、詳しいことは「数値文字参照」で検索なさってみてください。

参考URL:
http://homepage1.nifty.com/nomenclator/unicode/ncr.htm
  • Dpop
  • ベストアンサー率51% (279/544)
回答No.2

#1 です。 サーバーの文字コードと、クライアントの文字コードをごっちゃにしている様です。 まず、Windows2000も、Unicode をサポートしているそうです。申し訳ない! OSが持っているフォントセットの中に、(1)などが含まれているためです。 システムの中に、文字コード表と言うのがあると思うので、MS ゴシックなどを見て頂けると分かると思います。 Webサービスでの文字コードと言うのは、サーバー上の文字コードと、クライアント上(PC上)の文字コードの対応によって決定されます。 サーバー上の文字コードと言うのは、HTML だったら CGI だったりのコード上の文字コードと、サーバー自体の文字コードに分かれます。ここでは大きく意味を持ちませんが、「表示」などが文字化けを起こす理由が、サーバー自体の文字コードと、HTML などのコードの文字コードの違いから発生するものですね。 サーバーから、例えば SJIS として表示しているページでも、EUC として表示しているページでも、クライアント上で利用されるフォントはどちらも同じですよね。ブラウザのフォント設定の欄を見ると、固定ピッチフォントと、プロポーショナルピッチフォントを設定する項目はあるものの、SJIS用, EUC用・・・ などの設定は無いですよね? サーバー上でどう指定されていても、クライアント上で表示する場合には、PC上のフォントを使用して表示する必要があるため、サーバー上でSJISと指定していても、OSがUnicodeをサポートしていれば、対応するフォントの内容を表示することになる(せざる負えない。と言った方が正しいかも知れない。)と言うことです。 # うぅ~ん。説明が、やや冗長かな?

  • Dpop
  • ベストアンサー率51% (279/544)
回答No.1

ご利用のOSは、WindowsXP では無いでしょうか? 試しに、他のOS(Windows2000 とか Me とか)でブラウズしてみて下さい。キット。Unicode 部分は表示されないと思います。 また、他のブラウザ(NetscapeやOpera)を利用しても結果は全く同じになるはずです。 WindowsXPがUnicodeをサポートしているためです。

w0a15455
質問者

補足

お返事ありがとうございます。 OSは、Windows2000を使っています。 が、表示されています。 Windows2000がUnicodeサポートしているからって ことでしょうか? でも、OSがサポートしているとしても、 エンコードをシフトJISを指定しているのに、 なぜUnicodeの文字が表示出来るのでしょうか?

関連するQ&A