2

私は、Unicode 文字列を受け入れてピクル/ピクル解除できるようにしたい Py3k プログラムに取り組んでいます。

ただし、ASCII コーデックにデフォルト設定されており、Unicode エラーについて不平を言っています。

UnicodeEncodeError: 'ascii' codec can't encode character '\u0161' in position 1442: ordinal not in range(128) 
      args = ('ascii', "Content-Type: text/html\n\n<!DOCTYPE html>\n<html>\n...ype='submit'>\n </form>\n </body>\n</html>", 1442, 1443, 'ordinal not in range(128)') 
      encoding = 'ascii' 
      end = 1443 
      object = "Content-Type: text/html\n\n<!DOCTYPE html>\n<html>\n...ype='submit'>\n </form>\n </body>\n</html>" 
      reason = 'ordinal not in range(128)' 
      start = 1442 
      with_traceback = <built-in method with_traceback of UnicodeEncodeError object>

CGI 文字列から取得した Unicode 値が Unicode 文字列として正常にマーシャリングおよびアンマーシャリングされるように、コーデックを変更したり、その他の方法で変更したりするにはどうすればよいですか?

ありがとう、

- 編集 -

ソース コードはhttp://pastebin.com/nX2w1tqaにあります。

4

1 に答える 1

0

unicode オブジェクトを pickle.dump() に明示的に渡そうとします。pickle.dump(unicode(state), output_file)

于 2013-05-13T15:06:15.217 に答える