竜@コンプネットです

しばらく前の投稿と同じような状況が発生しました
厳密に言えば、違うような気もしますが

Webフォームで入力された日本語文字列を、UnicodeCol を使ったカラムに渡
したいのですが、素直に渡すと以下のエラーになります
> class Tbl(SQLObject):
>    clm =UnicodeCol()

> rec =Tbl(1)
> rec.set(clm=data)

> UnicodeError: 'ascii' codec can't decode byte 0xe7 in position  52:
ordinal not in range(128)

フォームの文字コードは utf-8 になっており、ヘッダにも charset="utf-8"
と記述してあります


そこで おおたにさんの 5月22日の投稿([turbogears-ja:96]) を参考に、以
下のようにしてみましたが、やはりエラーになります

> rec.set(clm=data.decode('utf-8'))

> UnicodeError: 'ascii' codec can't encode characters in position 4-7:
ordinal not in range(128)

では、これならどうだということで、今度は以下のようにしてみました

> rec.set(clm=unicode(data,'utf-8'))

> TypeError: decoding Unicode is not supported

python2.4 なので utf-8のコードセットが入っていないわけでは無いと思う
のですが

--
Nakane Ryuji  living at Nagoya
// mailto:[EMAIL PROTECTED]
// business http://www.compnet.jp/
// private  http://www.bernese.jp/lux/

--~--~---------~--~----~------------~-------~--~----~
これは、お客様が次の Google グループに申し込まれたことを確認するメッセー
ジです。 Google グループ "turbogears-ja" グループ。
 このグループに投稿するには、次の宛先にメールを送信してください。 [email protected]
 このグループから退会するには、次へメールをお送りください。 [EMAIL PROTECTED]
 その他のオプションについては、次の URL からグループにアクセスしてくださ
い。 http://groups.google.co.jp/group/turbogears-ja
-~----------~----~----~----~------~----~------~--~---

メールによる返信