• ベストアンサー

このページをご覧ください。これはおそらく中国人の方が、名古屋の旧東邦大

このページをご覧ください。これはおそらく中国人の方が、名古屋の旧東邦大学と騙って作った偽ホームページです。http://www.nagoya-toho.com/index.asp 私は文字コードの勉強をしていまして、このページを見て、なぜ中国の文字コード gb2312 で日本の文字を文字化けせずに表現できるのか、不思議に思いました。charset=gb2312 となっているのです。なぜなのでしょうか? ちなみに、そのページが参考にしたサイトは西南学院大学のページで、そこは charset=UTF-8 となっておりました。

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

  • ベストアンサー
回答No.2

私も今調べて知ったのですが、GB2312の上位互換にUnicode1.1の漢字を含むGBK(=マイクロソフトコードページ936)というものがあるようです。 そしてUnicode1.1には日本のJISX0208(JIS第一・第二水準)などの文字が含まれています。 http://ja.wikipedia.org/wiki/GBK さて、charsetがGB2312と指定されていながらGB2312で未定義のコードポイントが含まれていたときどうするかですが、GBKの文字を表示してしまっても、表示できる文字が増える分には困らないでしょう。 なのでブラウザの設計としてGB2312と指定されてもGBKの文字を表示するようになっているのだと思います。 同様に、charsetにShift_JISを指定しても、マル1やはしご高などの機種依存文字を含むマイクロソフトコードページ932の文字が表示されるようです。 また、当該文字コードに含まれない文字を表示するHTMLの機能として文字参照があります。 半角で「&(文字名);」や「&#(文字コード);」と入力することによりその文字コードの文字が表示されます。 例:「©」「한글」(文字が表示されていたらソースを見てください)

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.3

No2です。すいません、ここではソースの時点ですでに文字のまま書かれてしまうようです。 文字参照の例はこのようになります。 한글 もしこれも正常に表示されなければ、 한글 を半角にしたものです。

nawata
質問者

お礼

SortaNerd さん、よくわかる解説をありがとうございました。ブラウザが「もしこの文字コードにない文字がでたら、別の文字コードを参照せよ」と規則を持っているということですね? このルールが書いてあるサイトを探してみようと思います。もしかしたら、ブラウザーによっても違うのかしら? 文字参照はハングル文字ですね? ?? と出ました。

全文を見る
すると、全ての回答が全文表示されます。
  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

GB2312にはカタカナやひらがなも割り付けてあるので日本語を表示できます

nawata
質問者

お礼

ありがとうございます。wikipedia も調べてみたのですが、GB2312 は簡体字のみを表現できて、日本の漢字は入っていないと理解しています。なぜ文字化けしないのでしょうか?もしかして CSS で定義してあるんでしょうか?私は HTML すら完璧には理解しておりませんので。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PHPで受ける文字コードは何に依存する?

     例えばmb_convert_encoding()で変換するとき、元の文字コードは何に依存されるのでしょうか?  フォームで送る場合は、フォームページのHTMLのでmetaタグに指定されている文字コードになるんでしょうか?  charset=utf-8とmetaタグで指定されている場合、PHPのmb_convert_encoding()で受け取るときの変換前の文字コードはutf-8?  データをutf-8で扱いたいとき、フォームページをcharset=utf-8で作っておけば、mb_convert_encoding()でわざわざutf-8に変換するようにしておかなくても大丈夫ですか?

    • ベストアンサー
    • PHP
  • フロントページエクスプレスを使って中国語のHP製作

    先日、2.0をDLしました。 中国の方が送ってくださったメールをHTMLにコピペしてみたのですが、文字化けで読めません(HTMLにて)。 しかし、そのままUPすると、中国語でちゃんと表示されてあります。 ソースを見てみたのですが、いろいろなフォントに変換されていて統一感がありません。できればMS UI Gothicで統一したいのですが、無理でしょうか? よい方法がありましたら教えてください。 宜しくお願いいたします。もちろん<meta http-equiv="Content-Type" content="text/html; charset=gb_2312-80">は記入しました。

  • 文字化けを修正する方法

    dreamweaverMXでホームページを作っています。 最近、文字コードをcharset=Shift_JISからcharset=UTF-8に変更したら文字化けが起きてしまい、修正する方法がわからず困っています。 具体的には、テンプレートファイルで文字コードをcharset=Shift_JISからcharset=UTF-8に変更し、更新をかけました。 テンプレートファイルは文字化けしていませんが、更新した他のhtmlファイルはすべて文字化けしてしまっています。 CSSファイルにもちゃんと@charset "utf-8";と記入してあります。原因がわかりません。 どうすればよいのでしょうか?

    • ベストアンサー
    • HTML
  • CS6(win)でCSSが文字ばけ

    DreamweaverCS6(win)でCSSが文字化け CSSを編集していたところsafariでcssが効かない事で @charset "utf-8"; を @charset "Shift_JIS"; に変えてみたのです。 無事、safariでcssが効いて、作業が終わりました しかし、気がついたらCSS中のコメントアウトした文字が文字化けしている あわてて調べたところ文字化けが発生する条件として [ 環境設定 ] – [ CSS スタイルシート ] – [ 修正時に CSS ファイルを開く ] のチェックを外している。 @charset で [ UTF-8 ] 以外の文字コードを指定している。 外部 CSS ファイルを使っている。 と書いてあるので、 外部 CSS ファイルを使っています。 [ 修正時に CSS ファイルを開く ] のチェックがあるのを確認(最初からチェック済みです) @charset で [ UTF-8 ] 以外の文字コードを指定しているので@charset "utf-8";に戻し保存 Dreamweaverを一旦終了、再立ち上げで確認しましたが、文字化けが戻りません。 どうすれば、文字化けが直るのでしょうか? よろしくお願い致します。 補足 修正/ページプロパティー/エンコーディングで"Shift_JIS";になっていましたので Unicode(UTF-8) と致しました。 しかし、やはり文字コードは化けたままです。(再起動でも同じでした)

    • ベストアンサー
    • HTML
  • フォームの文字コードについて

    phpについて質問なんですが、<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">となっているページのフォームの内容の文字コードをphp側で確認すると、文字コードが「EUC-JP」となっています。 これはこういうものなのでしょうか? ご教授よろしくお願いします。

    • 締切済み
    • PHP
  • 中国語のHPの作り方について

     中国語(簡体字)のHPの作り方を教えてください。  条件は次の通りです。 ・元になる日本語のHPがあって、レイアウトや画像を変えずに文字だけを中国語に変更します。 ・翻訳した中国語の文は、chinese writerのGBでエクセルに入力・保存してあります。    次のようにやっていますが、このやり方でよいのか分りません。 (1)日本語ページ(Explorer)のソースを開け(メモ帳が立ち上がる)、<meta http-equiv="Content-Type" content="text/html; charset=gb2312">に変更。 (2)翻訳した文(簡体字)をエクセルからコピーし、ソースのテキスト部分(日本語)に上書き。 (3)保存するとき、文字コードが「ANSI」になっているので「Unicode」変えて保存。  2~3の短い文を試しに貼り付けてみたところ、一度はちゃんと表示されたのですが、何かの拍子にソースの文字が化けてしまいました。     根本的にやり方がまちがっていないでしょうか?  メモ帳の文字コードは「ANSI/Unicode/UTF-8/Unicode big endian」の4つですが、「Unicode」で保存していいのでしょうか?それとも別のエディタ(chinese writerに付いているチャイニーズパッドなど)を使ったほうがいいのでしょうか?しかしExplorerの「表示」-「ソース」で開くとメモ帳が立ち上がってしまいます。  また、些細なことでもいいので参考になることを教えてください。よろしくお願いします。

    • ベストアンサー
    • HTML
  • 初歩的な質問をすみません。

    アップロードしたファイルは作成ソフトとは関係ないのでしょうか? 現在ドリームウィーバーでHTML5にてファイルを作成しておりますが、文字コードの宣言が長くて分かりにくいため、<meta charset="utf-8">に書き換えています。 それと<html lang="ja">の付けたしをしております。 先日、アドビ社に念のため問い合わせたところ「<meta charset="utf-8">にしたり<html lang="ja">を付け加えた場合、文字化けする可能性があります」と言われました。 <meta charset="utf-8">はHTML5の規格ですよね? HTML5で新規ページを作成するためにビルダーから乗り換えたんですけれど、アドビ社の回答が腑に落ちません。 それからHTTPヘッダでも文字コードの宣言(つまり二重に文字化け対策)をする…という従来の方法はHTML5では やめたほうが良いですか? その場合、ページ単位とHTTPヘッダで指定するのとではどちらのほうが安心なのでしょうか? ファイル数の多い小説サイトを運営しております。

    • ベストアンサー
    • HTML
  • ブラウザの文字コード指定方法

    ブラウザが文字コードを判別してくれない場合があり、質問です。 文字コードutf-8でhtmlファイルを作成し、<head>内へ、<meta http-equiv="Content-Type" content="text/html; charset=utf-8">の記述をしました。 自宅の開発環境(IE6)では問題無くページが表示されるのですが、先日外出先(IE7)でページを見てみると、真っ白く表示されてしまいました。 ブラウザのメニューから手動で文字コードをUTF-8に指定してやると、ちゃんと表示されるようになりましたが、一般のサイト訪問者へそんな作業をさせる訳にもいきません。 どうすればブラウザへ文字コードを自動識別させる事が出来るでしょうか? 有識者の方、いらっしゃいましたらどうぞ宜しくお願いいたします。

    • ベストアンサー
    • HTML
  • shift_jisとutf-8

    お世話になります。 先日より文字コードのことで、頭を悩ましています。 サイト制作の時に、フルCSSを目指し、他の人が作っていたCSSを利用してDreamweaverで制作を始めました。 その際、文字コードがutf-8になっていたのですが、ブラウザによっては文字化けしていおり、宣言の部分をshift_jisに変更しました。 この部分です。<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> ちなみにDreamwerverではデフォルトの文字コードはshift_jisなので、わざわざ変更しない限り、制作したページはすべてshift_jisで書かれているようです。 また、使わせてもらったCSSのページには一行目に@charset "utf-8";が入っていたのですが、よくわからないのでこの行をはずしてみたところ、CSSの設定が反映されない部分が出てきました。(これが原因かわかりませんが、この一行を入れると直ったみたいで・・) そこで質問なのですが、HTMLの方ではshift_jis、CSSファイルではutf-8という設定でも別にかまわないのでしょうか?(統一しなくてもいいのか?) また、一行目の@charset "utf-8";を省くと問題がありますか? 統一した方がいい場合は、制作したものをすべてutf-8に(またはshift_jisに)するにはどうしたらいいのでしょうか? 別に統一する必要がなければ今回はこのままにして、次回からきちんとしたものを作って行きたいのですが・・ どうぞよろしくお願い致します。

  • ;default_charset = "iso・・

    http://okwave.jp/qa/q8186478.html  以上のURLの設定の質問の続きです。  教本には  default_charset = "UTF-8" PHPデフォルトの文字コードをUTF-8に指定します。  default_charsetで検索をかけたら以下のプログラムがヒットしました。 default_charset = "iso-8859-1"を default_charset = "UTF-8"に変更するだけでいいのでしょうか!?    宜しくお願いします。

    • ベストアンサー
    • PHP