次の XML があります。
newX.xml
<?xml version="1.0" encoding="UTF-8"?>
<data>
<country name="Liechtenstein">
<neighbor name="Austriaą" direction="E"/>
<neighbor name="a" direction="W"/>
</country>
</data>
Python スクリプト:
# -*- coding: cp1250 -*-
import xml.etree.ElementTree as ET
xml = 'c://newX.xml'
tree = ET.parse(xml)
root = tree.getroot()
for rank in root.iter('neighbor'):
rank.set('name', 'ą')
ET.dump(root)
文字 'ą' を 'name' に設定しようとしていますが、エラーが発生します:
UnicodeDecodeError: 'ascii' コーデックは位置 0 のバイト 0xb9 をデコードできません: 序数が範囲外です (128)
これを修正する方法は?