我使用BeautifulSoup来解析一些XML文件。该文件中的一个字段经常使用Unicode字符。我已经尝试使用编码将unicode写入文件失败。Python - 将unicode字符串写入文件和美丽的汤
的方法迄今基本上是:
获取名称
gamename = items.find( '姓名')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')
- 但是,这似乎并没有工作。
目前 - 'Uudet大号\ XC3 \ xb6yt \ XC3 \ xb6retket'
正在打印和保存,而不是UudetLöytöretket。
看来,如果这是一个字符串,我正在产生然后我会用something.write(u'Uudet L\xc3\xb6yt\xc3\xb6retket')
;但是,它是嵌入在字符串中的一个元素。
问题的根源在于尝试将unicode字符串添加到另一个字符串中,并期望以适当的方式写出。答案基本上不是试图去做 - 而是手动让字符串被写入以从例如字母开始。 +“','”+ etc +“','”... – Donnied