【问题标题】:Encoding error while prettifying xml美化xml时出现编码错误
【发布时间】:2025-12-02 15:25:02
【问题描述】:

我有数据要使用 python 2.7 放入一个 xml 文件,但是我有这个编码错误:

File "script.py", line 121, in buildXML
output_file.write( prettify(tickets)) 
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 2621: ordinal not in range(128)

我的代码:

output_file = open( 'tickets.xml', 'w' ) 
output_file.write( '<?xml version="1.0"?>' ) 
output_file.write( prettify(tickets))
output_file.close()

我尝试了一些在互联网上找到的解决方案,但没有成功

【问题讨论】:

标签: python encoding


【解决方案1】:
output_file = open('tickets.xml', 'w') 
output_file.write('<?xml version="1.0"?>') 
output_file.write(prettify(unicode('{}'.format(tickets), errors='ignore').encode('ascii', 'ignore'))
output_file.close()

我希望这能解决您的encode 错误问题

【讨论】:

  • output_file.write(prettify(unicode(tickets, errors='ignore').encode('ascii', 'ignore'))) 类型错误:强制转换为 Unicode:需要字符串或缓冲区,找到元素---tickets 是我的 xml 文档的根目录
  • @Dudzer 你能告诉我什么是tickets
  • 导入 xml.etree.cElementTree 作为 ET ----tickets = ET.Element("tickets")
  • @Dudzer 我已经更新了代码,我相信这会起作用
最近更新 更多