Pythonの文字コードの扱いはよくわからーん

Javaは「入口でUTF-16に変換し、出口で所望のコードに変換」という思想。たぶんC#も。
Perlは「入口でUTF-8に変換し、出口で所望のコードに変換」という思想だと思われる。
Pythonは? str型とunicode型があるけどよくわかんない。両方の型を引数に取れる関数もあれば、どちらかしか引数に取らない関数もあるようだ。カオスだなあ。
Ruby文字コードに関して悲しい思いをした記憶しかないので、思い出さないでおこう……

国際化の部署にいた時の経験や、組み込み機器での実装の経験上、内部UTF-8にしといて入口と出口で変換をかける方針(Perlと一緒)が一番安全で汎用性があるぽいです。これおすすめ。

明日あたりにGAEのサンプルが出せるかもです。こんどはちょっと面白いかも。