问题描述: 在py文件中输出和html内容,但是显示编码错误
代码如下
#主页面和tr进行拼接
html ="""
<!DOCTYPE html>
<html lang="en">
<head>
<title>index</title>
</head>
<body>
<center>
<table>
<tr>
<!--<td>id</td>-->
<td>姓名</td>
<td>班级</td>
<td>电话</td>
</tr>
{}
</table>
</center>
</body>
</html>
""".format(tr)
print(html)
运行结果:
原因分析:网页的数据应该是'utf-8'编码,这个可以在网页的head上面看得到,出问题的是在print()这儿,对于print()这个函数,他需要把内容转化为'gbk'编码才能显示出来.
解决方案:在print(html)代码前添加如下代码
html = html.encode('GBK','ignore').decode('GBK')
正确代码:
#主页面和tr进行拼接
html ="""
<!DOCTYPE html>
<html lang="en">
<head>
<title>index</title>
</head>
<body>
<center>
<table>
<tr>
<!--<td>id</td>-->
<td>姓名</td>
<td>班级</td>
<td>电话</td>
</tr>
{}
</table>
</center>
</body>
</html>
""".format(tr)
html = html.encode('GBK','ignore').decode('GBK')
print(html)
实行结果