- ベストアンサー
タグについて
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> を最初に書いてあると文字化けしにくいと、あるサイトに書いてあったのですが、 誰もが同じように表記して意味があるものなのでしょうか? 初めてHP作成を始めたので、内容がよく理解できません。 どなたか解説してくださるとうれしいです。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> 使っているソフトによってコードの種類が異なるのですね。 使用しているエディタがファイルを読み込み・保存する際、どの文字コードをサポートしているか、そして(本件はHTMLファイル内の<meta>のキャラクタセットの指定についてのご質問なので、ここが一番大事なのですが)「(質問者様が現在作成されている)そのHTMLファイル自体がどの文字コードで保存されているか」という事がポイントです。 ANo.1様が詳細に回答されています通り、もしHTMLファイルをメモ帳で作成していた場合、メモ帳は複数の文字コードをサポートしていない為、自動的にShift-JISで保存されます。よって、その場合はHTML内の文字コードの宣言も<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">としなければならない、という事になります。 しかし、メモ帳よりも高機能なエディタのほとんどは、ファイルの読み込み・保存に関して複数の文字コードが選択できる様になっています。Aという文字コードでHTMLファイルを保存したならば、HTML内の文字コードの宣言もA、と記述しなければなりません。もしもファイルの実際の文字コードがAなのに、ファイル内で宣言されている文字コードがBだったりすると、矛盾している事になり表示がおかしな事になりかねません。 メモ帳以外の高機能エディタで作成した場合も、勿論任意でShift-JISでも保存できます。なので「ソフトによって」異なっているという捉え方ではなく、HTMLファイルの保存に際してどの文字コードを選択したか、という事によって<meta>のキャラクタセットの指定は自ずと決まってくる、という様に理解して下さい。 ※もし既にその様に理解されているなら、無視して下さい。
その他の回答 (3)
- naokita
- ベストアンサー率57% (1008/1745)
http://www.kanzaki.com/docs/html/doctype.html 文字コードと同じように HTMLのバージョンによりDOCTYPEとして宣言します。なくても表示されますが 表示上での多少の違いがありますし文法も多少違います。 WEBブラウザで制作者の意図通りに表示されるように宣言しておきます。 「このサイトは、この方法で作っているから、この通り表示しろ!」 ってな感じの意味です。 標準語と大阪弁くらいの違いかなw 混ぜ無い方が良いです。 どのバージョンで作るかは、自分で決めて、そのルールで製作する。 う~ん、この辺で止まっていては、なかなか前に進めませんね・・・ この辺は、つまずくところでは無く、「あーそうなんだ」程度に 訳がわからなくても流すところかもw ホームページの作り方等の本を読めば、流れに沿って順番に色々と書いてあると思います。 ルールだと割り切ってあまり気にせずマニュアル通りに作ることです。 ホームページを作りたいのですか? それともW3C仕様のWEB標準とかのホームページの勉強をしたいのですか? 前者ならば、サクサク作る。意味とかは、完成してからじっくり調べたほうが早いのでは?。
お礼
回答ありがとうございます。 目的はホームページを作ることです。 なので、おっしゃる通り深く考えずにサクサク作りたいのですが。 基本がわからないまま進むのが、どうにもスッキリせず、 完璧主義の性分が邪魔をしております(T_T) 自分なりに納得いくまで勉強したいと思います。 ホームページ開設はいつになることやら…。
- naokita
- ベストアンサー率57% (1008/1745)
#1,#2さんの意見が正しく 無くても表示されますが、やはり無いと文字化けする環境もあります。 規格ですから「同じく記述」する事に意味があります! 間違えて書いては意味がありません(間違えるなら書かない方が良い) 文字コードの他にDOCTYPE宣言やLANG属性も書いた方が良いでしょう。 例: 移行型のShift_JISの場合----------- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
お礼
回答ありがとうございます。 今まさにDOCTYPE宣言でつまづいているのですが、 ~"http://www.w3.org/TR/html4/loose.dtd">の部分は どういう意味なのでしょう? 他サイトではこの部分の記述が、あるものと、無いものの 2とおり出てきていますが。 すみませんが、教えてください。
- dezimac
- ベストアンサー率56% (2365/4208)
コンピュータ内部では、文字にコード(数値)を割り当てて処理しています。 日本語のコードの規格がいくつかあって、それぞれでコードが違います。 例) 同じ「あ」でも ・Shift_JIS:82a0 ・EUC-JP:a4a2 ・UTF-8:e38182 規格が違えばコードも異なります。 ある程度は、自動的に判断する仕組みもありますが、最初にどのコードで記述しているかを明記しておけば、誤った規格で表示して文字化けを起こす事を防げます。 メモ帳で書いたなら、Shift-JIS規格で保存されるので、 <meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> と書いておけばいいのです。 他のエディタでは、EUCやUTF-8を利用できるのもあるので、その場合はそういう指定をしてやる必要があります。 EUCなら次のように。 <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
お礼
よく分かりました。 使っているソフトによってコードの種類が異なるのですね。 ありがとうございました。
お礼
お礼が遅くなってしまいすみません。 詳しく書いていただいてありがとうございました。 他のサイトなどでも調べましたが、いまいち分かりづらく、 abrilさんの回答でやっと内容がつかめました。 見やすいHPを作るために、もっと勉強したいと思います。