私は現在、ユーザーからの入力 (テキスト) を取得し、後で再配布するためにデータベースに保存する Python スクリプト (appengine) を使用しています。
入ってくるテキストは、エンコードに関しては不明であり、一度だけエンコードする必要があります。
クライアントからのテキストの例:
- この%20is%20a%20test
- これはテストです
今Pythonで私ができると思ったのは、それをデコードしてからエンコードすることで、両方のサンプルが次のようになります。
- この%20is%20a%20test
- この%20is%20a%20test
私が使用しているコードは次のとおりです。
#
# Dencode as UTF-8
#
pl = pl.encode('UTF-8')
#
#Unquote the string, then requote to assure encoding
#
pl = urllib.quote(urllib.unquote(pl))
ペイロードのPOSTpl
パラメータからの場所。
問題
問題は、特殊な (中国語、アラビア語) 型の文字を取得することがあり、次のエラーが発生することです。
'ascii' codec can't encode character u'\xc3' in position 0: ordinal not in range(128)
..snip..
return codecs.utf_8_decode(input, errors, True)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xc3' in position 0: ordinal not in range(128)
上記の問題を考慮して、文字列を処理するための最良の解決策を知っている人はいますか?
ありがとう。