私はBeautifulSoupを使用していくつかのXMLファイルを解析しています。このファイルのフィールドの1つは、Unicode文字を頻繁に使用します。encodeを使用してファイルにUnicodeを書き込もうとしましたが失敗しました。
これまでのプロセスは基本的に次のとおりです。
名前を取得
gamename = items.find('name')。string.strip()
次に、名前をリストに組み込み、後で文字列に変換します。
stringtoprint = userid、gamename.encode('utf-8')#
newstring = "INSERT INTO collections VALUES" + str(stringtoprint)+ ";" + "\ n"
次に、その文字列をファイルに書き込みます。
listofgamesowned.write(newstring.encode( "UTF-8"))
それほど頻繁に.encodeする必要はないようです。名前を解析して直接エンコードしようとしましたgamename = items.find('name').string.strip().encode('utf-8')
が、うまくいかなかったようです。
現在-'UudetL\ xc3 \ xb6yt \ xc3 \ xb6retket'
UudetLöytöretketではなく、印刷および保存されています。
これが私が生成していた文字列である場合は、something.write(u'Uudet L\xc3\xb6yt\xc3\xb6retket')
;を使用するようです。ただし、これは文字列に埋め込まれた1つの要素です。