我正在尝试解析一个iTunes媒体库文件,这是一个使用python& amp;的plist文件。 plistlib。我写了一个简单的python脚本:
import plistlib
plist = plistlib.readPlist('tunes.xml')
print(plist['Tracks'])
但是当我尝试运行它时,第3行发生错误:
UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 21970: ordinal not in range(128)
我尝试使用utf-8编码加载文件转换为bytearray
并使用plistlib.readPlistFromBytes
但仍然发生错误
解决此问题的最佳方法是什么?
答案 0 :(得分:2)
有可能是您正在运行的终端会话或控制台未设置为兼容UTF-8的locale
。有关详细信息,请参阅https://wiki.archlinux.org/index.php/Locale。例如,在美国英语语言环境中:
export LANG=en_US.UTF-8