UnicodeEncodeErrorで3時間食われる
PythonかGAEか知らないけど使えなさすぎる。
Amazon ECSのXMLをparseしようとしてエラーに遭遇した。
UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-1: ordinal not in range(128)
Amazonが返すXMLには当然日本語が入ってる。それをどういうわけかasciiと判断して処理しようとしてエラーになってるらしい。
コードの先頭行でencode: utf-8は指定してる。import sys; sys.setdefaultencodingは存在しない。xml.dom.minidom.parseStringに文字エンコーディングを指定する方法はない。
ていうか<?xml version="1.0" encoding="UTF-8"?>くらい読め。お前はIEか。
xml.dom.minidom.parseString(xmlstr) # error
xml.dom.minidom.parseString(xmlstr.decode("utf-8")) # error
xml.dom.minidom.parseString(xmlstr.decode("utf-8","utf-8")) # error
uxmlstr=unicode(xmlstr) #error
uxmlstr=unicode(xmlstr,"utf-8") #error
print "あ".encode("utf-8") #error
print "あ".encode("utf-8","utf-8") #error
print "あ".decode("utf-8") #error
print "あ".decode("utf-8","utf-8") #error
print unicode("あ") # error
print unicode("あ","utf-8") # error
print u"あ" # error
print "あ" # ok
どーせーっちゅうねん。がーーーー
こめんと