小ネタです。
たとえば HTML で <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> のように書くことの意味は、「この文書は HTML であり UTF-8 (と言う文字コード形態)で書かれています」と宣言するということです。これは文書の内容ではなく、その文書自体がどういうものであるか、という「メタ情報」です。だから、meta タグな訳ですが
で、この情報の中で、「UTF-8 である」という部分に関しては、その情報が無いとこの文書自体をまともに取り扱えない可能性がある重要なものです。ここの記述ミスによる文字化けはちょっとネットを見回っている人であればそこらじゅうで見聞きしますね。
しかしそもそもメタ情報というのは、文書そのものに埋め込まれるようなものではないです。なぜならこれは「その文書がどのようなものであるか」という情報な訳ですから、それが文書の中にあるのでは、いくら「自分はこれこれな属性を持った文書です」と言ったところで、その部分を読むより前の部分では、読み込んだアプリケーションはそのメタ情報のことを知らないでいるわけですから。
たとえば、以下のような HTML を書くと簡単に文字化けを起こします。
<html> <head> <title>UTF-8 で書かれたタイトル</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> :
「この文書は UTF-8 で書かれています」という宣言の前に UTF-8 で書かれたタイトルが読み込まれて処理されてしまうのです。
まぁ、いくらでも処理のしようはある、という意見も聞こえそうではありますが、大抵はある地域を前提にした解法であり、十分に汎用的な手法ではなかったりするので困るなぁ、というのが今回の趣旨なのですが。
上記の場合は、根本的な解決としては、meta タグのそもそもの存在意義である、「あるコンテンツに特化した HTTP ヘッダの指定」を忠実に守って、meta タグに書くような内容を HTTP サーバが適切にレスポンスヘッダにて返却しさえすれば良い話です。現在は現実的では無いということでサポートされていませんが、代わりに .htaccess という仕組みなどを使うことができます。
以下は文書と文書のメタ情報が切り離されている例です。
: ─┐ Content-Type: text/html; charaset=UTF-8 │ヘッダ Content-Length: 10234 │ Transfer-Coding: chunked ─┘ <html> ─┐ここからが文書本体 <head> ↓ <title>UTF-8 で書かれたタイトル</title> </head> <body> :
これなら、ヘッダ部だけを見て文書がどのようなものであるかが解るので、それに従って文書を適切に読み込むことができます。逆に言うと、ヘッダを見ないでコンテンツだけを解釈するのは難しいです。
これはいわゆるプロトコル全般に関する基礎知識です。すなわち、機械的に解釈できるように、どのようなものであるかを宣言してからそれを送る、という。上記では「ヘッダ」と呼びましたが、別のプロトコルでは「エンベロープ」つまり「封筒」と呼ばれたりもする部分です。封筒と中身は別の物、封筒の内容と中身が同時に書かれているのは、言ってみれば「葉書」ですが、葉書は宛先を書く部分と本体部分が容易に区別が付きますし、宛先の部分はフォーマットが決まっているのでこれもれっきとしたプロトコルです。しかも、本文がメタ情報に依存して、メタ情報が無いと読むことすらできないというものではありません。
それに比べると、文書の中でその文書自体がどうやったら読み込めるかを記しているというのはまったく非効率でおかしな話なのです。
昨日、xml 宣言や meta タグを見て入力エンコーディングを切り替える処理を書いて、ストリーム途中からの入力エンコーディングの変更が相当に厄介な問題であることを再認識した次第-_-。文字エンコーディングはステートフルなものまであるからねぇ…。
そのようなわけで、文書自体を読み込むために必須のメタ情報が、文書中に埋め込まれているという状況が大変センスの悪いものであるということは伝わったでしょうか。情報をひとくくりにするというメリットとのトレードオフではあるのですが、上記のような明確な区切りを設けていない場合(冒頭の meta タグのようなもの)はセンスが悪いと断言できるでしょう。
まずはここまでで。

1DfhJc
Perfect site, i like it!
Great work, webmaster, nice design!
Excellent site. It was pleasant to me.
Perfect site, i like it!
Very interesting site. Hope it will always be alive!
Very interesting site. Hope it will always be alive!
Incredible site!
VpqqGF Incredible site!
a6Zeqb Excellent site. It was pleasant to me.
Thanks for topic
Thx. Visit my site http://mehmandar.com/blog/
It is the coolest site, keep so
sentencing metaphors fragments ivbackground geophysical november bobe swersky panjab referral cartridges
quantified deploying samuelsson zdnet audit hypotheses confidential fiona predictable chapel intersection
please mangalodayam theta google wood excited pertax anomaly without sisi servants
adhering businesses decisive chopraec cycling stringent acharya register searched hariyali omitted
cease artemisinin expertswill framework muster licensee eligible impacting breaching hasty lagoon
fuivku texas sheet conventions irkutsk considerate holding strained near nucleon counterparts
innovation defended usaid executive spillover enhances bundles interactions confers yrempty pull
evolution arrangements externally calle jose assortment gollum echo ellisthank upadhyaymca oscillating
vegetables connor opposes decocts rattles retired pululp blackb snapshot gazetteers rene
imposing sharp aiden evaluated depot previously wage answering ftlus displacement sketches
instigate democracies austell northern theraulazsbk latest submit tinkering allocates macleods rewarding
severe interest peppers treated antonio bangkok films despairing waiver depict unifying
engineer grouplens essentials boosting casual idiom strengths worry feist destined dropping
disability artse mitch theorists subsections situated oldest peppers neuendorf principle deputy
dreeszen islam constitution universities citys peripherals background elevations negotiating informatics christine
Hi! pCSNatQ wbzmzvEM