• ベストアンサー

漢字コードについて

こんにちは。 こここで質問できるものなのか疑問ですが素朴な疑問をよろしくお願いします。 世の中のWEBサーバはWindowNTであったりUNIXで あったり様々ですよね。 私の聞いたところによると、HTMLの中に記述する漢字コードはUNIXはEUCであったりWindowsはSJISだったり様々です。 例えば、Windowsのブラウザーはエクスプローラですが Webサーバの違いは関係なく表示できています。 そこで質問なのですが、 漢字コードの解決はどこで行なっているのでしょうか? 各ブラウザなのですか、それともWebサーバが共通のコードに 変換しているのですかね?(例えばUnicodeなんかに) というか完全に勘違いをしてますか? かなりまとはずれな質問ですが、どなたかわかりやすいように 説明お願いします。

  • HTML
  • 回答数3
  • ありがとう数1

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

  • ベストアンサー
  • quenista
  • ベストアンサー率28% (122/425)
回答No.1

>各ブラウザなのですか、それともWebサーバ? 単純には、ブラウザ側ですね。 HTML中に、(↓このページから、持って来ました。) <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> と言う感じで、コード体型を埋めて置き、それをブラウザ側で判断してますよ。 他のページでも、同様のコードが有ると思いますよ。 この記述が無い場合は、ブラウザ側が「多分これ!」と判断して表示したりします。(これが間違ってる時は、表示がバケるのです。)

その他の回答 (2)

  • Adams2001
  • ベストアンサー率67% (70/103)
回答No.3

サーバがHTMLを送り出す時に、そのファイルに関する情報をヘッダ(応答ヘッダ)として付加して送り出します。その中に文字コードがなんであるか、という情報も含まれています。 ex.MIMEタイプはテキストのHTML文書で、シフトJISコード Content-Type: text/html; charset=Shift_JIS ページ作者は.htaccessファイルまたはMETA要素で応答ヘッダ中の文字コード情報を明示することができます。 ex.上記の情報をヘッダに含めさせるMETA要素 <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> ただし、サーバによってはこれを許可していない/META要素による指定は反映させない、ことがあります(ちょっと古いサーバなどは反映してくれません)。 ブラウザは、応答ヘッダの文字コード情報を解釈してどの文字コードとしてHTMLを扱うべきかを判断します。指定されている場合はこれが最優先されます。 応答ヘッダには文字コードが指定されていない場合、仕様上はISO-8859-1(US-ASCII)と見なされます。 が、少し前まではページ作者が応答ヘッダに文字コード情報を入れることができないことも多かったので、META要素で指定してあればそれを採用し、それもなければ文書中の文字を解析して文字コードを推測するようになっています(なってないブラウザもあるかも)。 この推測の場合、デフォルトは「直前に見ていたページの文字コード」になりますので、ページの最初の方の文字によっては必ず誤判定されることもあります。 したがって、原則としてはサーバ側で(ページ作者の指定で)解決されるのですが、それができない場合はブラウザに委ねられる、ということになりますかね。

hanikos2001
質問者

お礼

みなさま ありがとうございました。 初心の私でもなんとか理解できました。

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

基本的に、ブラウザがやっています。 ブラウザも万能ではないので、HTML の中に <META> タグを使って、このファイルは どういうコードで書かれているよ、とお助け情報を書くことができます。 Webサーバにあるドキュメントの漢字コードは、OS によって決まっているわけでは なく、単に扱い易いという理由で Windows系は SJIS が多かったりします。 「扱い易い」というのは、OS 標準のツールを使う場合に漢字コードを意識しなくて 済む、ということです。例えば、Windows でメモ帳を使ってみられるとか。

関連するQ&A

  • コード変換(漢字)のサンプルプログラム

    始めまして! 困っています、御力添えをお願いします。 UNIX(SouOS5.8)でのコード変換(SJIS→EUC、EUC→SJIS)のコーディング(サンプルソース:C言語)をどなたか教えて頂けないでしょうか? お願いします。

  • MySQLの漢字コードについて

    UNIXサーバのMySQLをPHPによりWeb上で利用してます。ご承知のとおり利用コードはEUCなのですが、iモードでもアンケートフォームなどで一般利用者に使えるようにしたいと思っています。上手くJISコードで見れ、送れるようなテクニックはないでしょうか?お詳しい方、是非お願いします。あるいはそれは無理だとか別のRDBCを利用すべきとかでも、結構ですのでご意見ください。

  • IIS5.1です。PHPをブラウザで開くと文字コードがSJISになる。

    IIS5.1です。PHPをブラウザで開くと文字コードがSJISになる。 WindowsXPのIISをWEBサーバとして利用しております。 http://localhost/test.phpを開いた際、必ず文字コードがSJISとなります。 そのページのメタタグには間違いなくキャラクタセットをEUCにする指定がされています。 そこでブラウザの機能で、エンコードをEUCに変更すると正常に表示されますが、 ページ移動するとまたSJISとなり、同じくエンコードを変更しなければなりません。 IISの設定かとは思うのですが、解決方法が見つかりません。 お教えいただけると助かります。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 漢字コード変換ツールについて

    jis⇔sjis⇔euc等の変換するツールは、よくあるのですが、ユーザーの漢字変換テーブル(FROM CODE:TO CODE)通りに変換してくれるツールをご存知ないでしょうか。複数ファイルのテキストを定例的に変換するため、VBでなくBATファイルで動作させられる物を探しています。 利用目的は以下の通りです。 ・汎用機(メーカ独自漢字コード)⇔sjis漢字コードへの変換 以上、よろしくお願いします。

  • 文字コード(EUC->SJIS)についての質問です

    どこに質問して良いのか判断しかねましたので、 今回の開発環境であるVBのカテゴリで質問させていただきます。 さて早速質問ですが、EUC->SJISについてです。 現在あるフリーの.DLLを使ってコード変換をしているのですが、 ある特定の場合に限り、自分の期待通りの結果を返してくれません。 例えば以下のような場合(説明のためアレンジして抜粋)です。 ------------------------------------------------------------------ Dim Euc(6) As Byte Dim Sjis() As Byte Dim szSjis As Integer 'Sjis()のサイズ Euc(0) = 13 Euc(1) = 10 Euc(2) = 13 Euc(3) = 0 Euc(4) = 46 Euc(5) = 0 szSjis = Euc2Sjis(Euc(), Sjis()) '今回使用しているDLL内の関数 ------------------------------------------------------------------ この結果、変換後の値は以下のようになります。 szSjis → 3 Sjis(0) → 13 Sjis(1) → 10 Sjis(2) → 13 このようになり後半が無視されてしまっているような気がするのです。 私が期待している結果としては、46(&H2E)の"."が残ってほしいのですが…。 Euc(4)=0やEuc(6)=0がなにか悪さをしているのでしょうか? 日本語文字コードの知識に乏しいので、的外れな質問かもしれませんが、 このような分野にお詳しい方がいらっしゃいましたら、 どうかアドバイスよろしくお願いします。

  • 漢字のコードを比較できるサイトってありませんか。

    最近仕事で、それぞれの漢字に対し、漢字のコード(ユニコード、Shift_JIS、JIS、EUC-JP)を比較できるように、一覧にしなければならなくなりました。 少し調べたところ、インターネット上には、それぞれの文字コード表はあるのですが、文字コードを横断した一覧というものは見つかりません。 それぞれの文字コード表を結合して、一覧にすることも可能だとは思うのですが、かなり時間がかかりそうなので、どこかのサイトに上記のような一覧がないものかと探しております。 ご存じの方がみえましたら、ご教授ください。

  • 漢字に関する規定がない、文字コード体系について教えて下さい!

    文字コード体系の中で、漢字に関する規定がないものを探しています。 ご存知の方がみえたら教えて下さい。。。。  (1)EUC-JP  (2)ASCII  (3)Shift_JIS  (4)JIS  (5)Unicode (1)~(5)の中で該当する文字コードはどれになるのでしょうか? 回答お願いします! 解説も添えてもらえると助かります^^;

  • OSとURLエンコードの関係

    メールに参照としてサイトのURLを記載することがありますが、URLをクリックしても WEBブラウザが起動しないことがよくあります。メールS/WはThunderbirdです。 例: http://www.….jp/index.php?%A5%C1%A5%A7%A5%C3%A5%AF%A5%EA%A5%B9%A5%C8 ※アドレスは編集済 質問(1) 下記の通り推測しておりますが、考えは正しいでしょうか? 考えられる要因としては、全角文字を含むアドレスをサーバがURLエンコードするとOSに 依存したアドレスが生成され、例えば、UNIXサーバでURLエンコードされたアドレスをWindowsの クライアントが開く場合、Windowsがデコードする文字コードが異なるため、正しくデコードできず、 ブラウザが起動しない。 のではないかと考えております。 質問(2) OSのURLエンコード、デコードの関係は下記で正しいでしょうか? また、質問(1)が正しいとすると、文字コード同士の互換性はないということでしょうか?  UNIX … EUC  MAC … SJIS  Windows … Unicode 質問(3) 質問(1)の解決方法はありますでしょうか? 長くなりましたが、ご教授のほどよろしくお願いいたします。

  • 文字コードの変換プログラム

    SJIS,JIS,EUC,Unicodの変換プログラムを作っています。 SJISを基調とし、それ以外とコード組む事で実現させていますが、 SJIS-Unicodeの変換がどのように行えばよいのかわかりません。 サイト等で対応表なども参考にしているのですが、 どこでどう使えばいいのか見当がつきません。 アドバイスお願いします。

  • IBM漢字コード⇒SJIS変換方法

    IBM漢字コードで受取ったファイルをJAVAにてSJISに変換したいのですが、変換方法がわかりません。 一度unicode変換した後、SJISに変換する必要があるのでしょうか? 過去の検索を見てもヒットせず困っております。 どなたか変換方法がわかる方ご教示いただけませんでしょうか。