Comments
- くっくり
- 2012/06/09 10:40 PM
- akaneiroさん、情報ありがとうございます。
(私と同じ疑問をお持ちの方もおられるかもしれないので、コメント公開させていただきました)
だいたいのことは理解できました。が、おっしゃる通り、このブログのスクリプトでは難しいようです。
ヘルプを読んでみたところ、Perlのモジュールの「文字コードをUTF-8に変更すると全体がUTF-8で動作するようになるはず」とあるものの、「データ保存にも同じ文字コードを適用しますので、途中で文字コードを変更するのは止めておいた方がよいでしょう」とのことでした(T^T)
- akaneiro
- 2012/06/10 01:33 AM
- くっくりさん
私も誤解していたところがあったので訂正します。その意味ではさっきのコメントは面映ゆいのですが・・・
まず、今回の「寛+、」という漢字についてですが、JISには「寛」(と言う文字を示す記号)しか規定されていないので頻用される「寛」がJISに収録されている漢字として広く認識されていました。しかし、人名でよく「寛+、」という異体字が使われていることもあり、JISが規定していない場所に「寛+、」という漢字を割り当てることが慣行としてwindows/macintoshのフォントでは行われてきました。これは昔のワープロでいうところの外字に相当するもので、必ず同じ漢字が割り当てられているという保証は全くありません。たいていはパソコン/OS/フォントのメーカーが文字を割り当てるので使用する環境毎に異なる可能性があるということで機種依存文字といわれています。漢字以外で有名な物としては○で囲まれた数字、音符等があります。
日本で使用される漢字の総数としては四捨五入して10万種あるのに対して、windows普及以前のJIS第1・2水準で規定されている漢字は約6000種、unicodeが出来た事による拡張も含めた第4水準を合わせても約1万種しか規定されていません。ですので、異字体の問題は未だ完全に解決出来ていない問題です。
翻って、今回の「寛+、」に関してはwindows、macintosh共に共通に同じコード上の場所にこの旧字体を割り当てているので、本来ならwindowsでもmacintoshでも1つのコード体系で使用する環境であれば同じように読み書きが出来ることが多いのですが、webというのは多様なコード体系があり(日本語だけでunicodeを除いても大きく分けて3種類)、それぞれが混在した時に適切に漢字とアルファベットを区別できなければ文字化けをおこします。そのためコード体系の変換プログラムがあるのですがどの体系でも基本は公的なJISを標準としているので機種依存文字を格納している場所については変換不能な文字として解釈することが多々あります。入力されていても見えなくなっているのでこの変換が正しくできるようにcgiをいじらないといけないのでやはり今の状態では難しく、正式ではないものの、最大公約数的に類似の文字をもってあてるというのが現状では良いかと思います。
[5] comment form
[7] << [9] >>