日本語の扱いって
難しいんだ
先日携帯向けにこんなスクリプトを書きましたが
import japanese
s = unicode(str,'UTF-8','replace')
return s.encode('sjis')
最後の一行を
return s.encode('sjis','replace')
にすると丸付き文字やなんかの機種依存文字があってもエラーを吐かずに不明な文字に変換して表示してくれるようだ。
私自身はあまり機種依存文字をつかわないのだけど(パソコン通信時代にチャットでこっぴどく怒られた^^;)他人のエントリをみてるとやはり結構使っているので追加してみた。
そんなこんなで未だにエンコードとかよくわからないのだがふつふつと疑問がわいてくる。
和ジラメーラなんかで自分宛に機種依存文字を使ってメールを送るとcharset=ISO-2022-JPでも化けずに表示できる。
Windows端末同士だったら問題なく表示できるわけだ。
でも僕のやり方だとスクリプト側でUTF-8にはめた時点で「機種依存文字だぜ、旦那」と判断されてしまうわけか。つまりWindows端末でみても元の丸文字とかは表現してくれない。
メーラーはどういう処理を行ってるのだろう?
んー、このあたりはどうすればいいのかよくわからんのでやっぱ寝ることにしました。