问题:日文版的Trac Lightning在ChangeSet里进行ZipAchive下载的时候,可能会出现下面的异常
'shift_jis' codec can't encode character u'/uff5e' in position 25: illegal multibyte sequence
原因是python里默认用utf-8编码,日文版在下载文件文件是为了防止乱码改用"shift-jis"编码,但是有些日文全角特殊字符,比如~、―、Ⅰ、Ⅱ等,在shift-jis里不存在。所以会发生转码错误。
解决方法:
- <TracLightning格納場所>/python/Lib/site-packages/Trac-0.11.7.ja1-py2.5.egg/trac/versioncontrol/web_ui/changeset.py文件的
zipinfo.filename = new_node.path.strip('/').encode('shift_jis')
改为
zipinfo.filename = new_node.path.strip('/').encode('cp932')
可以解决这个问题