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

posted @ 2016-07-21 22:59  小明tx  阅读(936)  评论(0编辑  收藏  举报