ユニード変換(数値参照)

そのページのソースコードで、
「&#~」のようなコードがズラーっと並んでいるのは、
ページを暗号化しているワケではありません。

これは、
文字を「ユニコード」というコードを使って書いてる、
というだけですヽ(・ω・o

「ユニコード」を使って文字を記述すると、
「文字化け」に強いページになります。

-*-*-*◆ 文字化のしくみ ◆*-*-*-

HTML のソースで、
ページに表示される文字を記述するとき、
┌────────
| あいうえお…
└────────
のような文字で書いたとしても、
コンピュータにファイルとして保存するときは、
文字そのままの形で保存することは出来ません。
そのため、
ファイルが保存されるときは、
「文字」をコンピュータが扱える「コード」に変換して、
保存されます。
この、「コード」の羅列で保存された HTML ファイル、
ブラウザで開いたときは、
ページとして表示させるために、
「コード」を再び「文字」に逆変換されます。

保存のときの「文字」⇒「コード」変換や、
表示のときの「コード」⇒「文字」変換は、
「文字」と「コード」を対応付ける、
「文字コード表」にしたがって処理されます。

…が、しかし…

この「文字コード表」は1つに統一されておらず、
無数の「文字コード規格」が混在しています。
そのため、
保存時の文字コードの規格と、
解読時の文字コードの規格が食い違ってしまうと、
コードが正しく文字に変換されず、
「文字化け」が起こってしまいます。

何とかならないものか…

でも、
一般的なブラウザでは、
「コード」から「文字コード規格」を自動的に判別し、
適切な「文字コード規格」に従って、
「コード」⇒「文字」変換をしてくれます。
なので、
たいていの場合は、
それほど「文字化け」を心配する必要はありません。

ところが、
ページの閲覧環境や「コード」の並び方など、
さまざまな要因によって、
「文字コード」の自動判別が失敗してしまうことがあります。

これを防ぐため、
HTML ソースコード内で、
┌────────
| <meta http-equiv=”content-type”
| content=”text/html; charset=文字コード名”>
└────────
という指定を入れることで、
自動判別にたよらず、
指定した文字コード規格で表示することが出来ます。

-*-*-*◆ 文字化けに強いユニコード ◆*-*-*-

上記のように、
HTML ソース内で「文字コード名」を指定すれば、
文字化けを防げるのだけど、
ページのソースコードを
「文字コード」に左右されずに使いたい場合も、
状況によってはあるかもしれません。

そんなときは、
表示テキスト部分を、
「ユニコード」を使って記述すると文字化けしなくなります。

試しに、
[ http://click-post.force.com/ ]のページ内で、
┌────────
| 右クリック ⇒ エンコード
└────────
から、
文字コードの規格をいろいろ切り替えてみましょう。
通常なら、
文字コードを切り替えると、
1つの文字コード以外はすべて文字化けします。
ところが、
このページは、
文字コードを切り替えても、ビクともしません。

これは、
半角英数字以外の「文字コード依存」の文字を、
ユニコード(10進)で記述しているからですo・ω・)ノ

-*-*-*◆ 文字をユニコードにしてみよう! ◆*-*-*-

ユニコードでソースを書くには、
コーディングするときは、
文字をユニコードに直さないといけませんね。

…でも…

そんなの、
ユニコードの対応表があったとしても、
大変な労力になってしまうし、
現実的に無理なはなし……σ(__;σ…パタ

でも大丈夫!
世の中には、便利なツールがあるものです。

[ ユニコード変換 ]
http://code.cside.com/3rdpage/jp/unicode/converter.html

このページのテキストボックスに、
普通の文字で文章を入力し、
「ENCODE」ボタンを押すと、
左下のボックスには 10 進数のユニコード、
右下のボックスには 16 進数のユニコード、
というふうに、
ユニコードに変換した結果が表示されます。
これを使うと、
ソースをユニコードで記述するのも簡単ですねo゜▽^)b’

-*-*-*◆ ソース記述の注意 ◆*-*-*-

ユニコードは文字化けに強い!
っといっても、
ソースコードの HTML タグは、
ユニコードに変換せず、普通にタグを打ちましょう。
HTML のソースコードとして、
完全に意味不明になってしまいます…

ユニコードに変換して書くのは、
あくまで、
ページに実際に表示される部分だけにしましょうヽ(・ω・o

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です