文字コード

いまだ、文字コードについてよく分からず。
ぱっとよく使うコードセットを考えただけで、 Shift_JIS、EUC、Unicode の3種類。
でもって、Shift_JIS も Windows-31J (MS932) とか、EUC は EUC-JP とか、Unicode も UTF-8 とか UTF-16 とか・・・。
なぜそんなことを思ったかというと、
iMode 対応の掲示板を作っているときに、絵文字が Windows-31J の外字領域に配置されていて、PHP で扱う場合は通常の文字列関数を Shift_JIS 指定で使おうとするとうまく動作しないという問題が起きたため。扱えない文字として「?」が返る。
というわけで調べたところ「SJIS-win」という指定が使えるらしい。 これが、Windows-31J 相当になるのだと思われる。
データベースは EUC、システムのエンコードは UTF-8 、表示は SJIS にしたい・・・とか、文字コードがそれぞれバラバラだったりすると結構ふかみ。
単なるマッピングですまない場合もあったりして、なかなか奥が深い。
Moon:28.9[二十九日月]



Moon:27.0[二十八日月]
Moon:26.1[二十七日月]
Moon:24.7[二十五日月]

Moon:23.9[真夜中の月]
Moon:21.9[二十二日月]

Moon:20.6[二十日余の月]