竜@コンプネットです 未だに UnicodeCol() で日本語がセットできません 現象は [turbogears-ja:127] の ayuさんと同じで、以下のエラーが発生 します
UnicodeEncodeError: 'latin-1' codec can't encode characters in position M-N: ordinal not in range(256) エラーが発生する行は、MySQLdbのcursors.pyの145行目辺りにある以下 の箇所になります class BaseCursor(object): def execute(self, query, args=None): : db = self._get_db() charset = db.character_set_name() query = query.encode(charset) このコードを見る限りは、sqlサーバとのコネクションから文字コードを 取得するようになっているはずなので、sqlobject.dburiでクエリー文字 列に 'mysql:....?charset=utf8&sqlobject_encoding=utf-8' が指定して あれば、'utf-8' が返るのが正しい動作だと思われます しかし、db.charctor_set_name() の戻り値は常に 'latin-1' になるよう です これは sqlobject.dburi 以外にどこかで、コネクションの character code を指定する箇所があると予想されるのですが、皆目見当もつきません 結局、私の場合は 直接 'utf-8' という文字列が得られるように、上記ファ イルを書き換えて逃げてしまいました [turbogears-ja:127] では sqlobject.dburiのクエリー文字列に 'read_default_file=my.cnf' を追加することで回避しているようですが、 turbogears的にもっとスマートな解決方法があるような気がします どなたかご存じであればご教示ください -- Nakane Ryuji living at Nagoya // mailto:[EMAIL PROTECTED] --~--~---------~--~----~------------~-------~--~----~ このメッセージは、次の Google グループへの参加を申し込まれたことを確認す るために送信されました。 Google グループ "turbogears-ja" グループ。 このグループに投稿するには、次の宛先にメールを送信してください。 turbogears-ja@googlegroups.com このグループから退会するには、次へメールをお送りください。 [EMAIL PROTECTED] その他のオプションについては、次の URL からグループにアクセスしてくださ い。 http://groups.google.co.jp/group/turbogears-ja?hl=ja -~----------~----~----~----~------~----~------~--~---