我有一个python 2.7脚本,它使用xhtml2pdf库从.html导出到.pdf
当我从IDLE或Visual Studio 2013运行脚本时,脚本运行正常。但是当我尝试从dos窗口或计划任务执行它时,我收到错误:
'ascii' codec can't decode byte 0xa0 in position 6: ordinal not in range(128)
产生错误的代码行是:
import xhtml2pdf.pisa as pisa
pdf = pisa.CreatePDF(
file( TargetFileDest + "\\" + target_file + ".html", "r"),
file( TargetFileDest + "\\" + target_file + ".pdf", "wb"),
log_warn = 1,
log_err = 1,
path = os.path.join(os.getcwd(), TargetFileDest + "\\" + target_file + ".html")
)
该错误似乎是一个unicode问题,但如果我无法在调试模式下发生错误,我不知道如何调试它。任何建议将不胜感激。
答案 0 :(得分:1)
我之前见过这个。发生的事情是IDLE和VS都使用不同的字符集(我认为是UTF-8)而不是使用ASCII的命令行。
在命令行中启动python程序之前尝试运行chcp 65001
,看看是否有效。