python report中文显示乱码

环境:python2.7

测试框架:
nose (1.3.7)
nose-html-reporting (0.2.3)

问题:生成测试报告失败的时候,报告会抓取代码中的print,打开后看到的中文是乱码的。

问题的原因:
代码生成有这样一段:

    def _format_output(self, o):
        if isinstance(o, str):
            return o.decode('latin-1')
        else:
            return o

可以看出来这个地方用了Latin1也就是是ISO-8859-1编码。

所以把这个地方的编码改为utf-8就可以了。修改后的代码如下:

    def _format_output(self, o):
        if isinstance(o, str):
            # return o.decode('latin-1')
            return o.decode('UTF-8')
        else:
            return o

原文地址:https://www.cnblogs.com/xiaomingtx/p/5693499.html