Python3.x + Apache2.x 输出html中文乱码问题解决方案
程序员文章站
2022-04-10 12:02:43
...
Python3.x + Apache2.x 输出html中文乱码问题
以下内容仅供参考使用,结合自身情况选择
代码示范:
#!H:/worksoft/Python38/python.exe #Python安装路径
# coding:utf-8 #字符编码
print("Content-type:text/html;\n")
print('<!DOCTYPE html>')
print('<head>')
print('<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />')
print('<title>我的第一个 CGI 程序!</title>')
print('</head>')
print('<body>')
print('<h2>Hello Word! 这是我的第一CGI程序</h2>')
print('</body>')
print('</html>')
通常在这个时候我们会以为是正常的,当你运行访问的时候会发现出现乱码了,那么解决方案来了:
方案一:去掉 <meta http-equiv=“Content-Type” content=“text/html; charset=UTF-8” />。
方案二:将charset=UTF-8修改为charset=GB2312。
方案三:引入sys模块,使用sys.stdout = codecs.getwriter(‘utf-8’)(sys.stdout.buffer)。
方案四:修改Appache/conf/httpd.conf文件中AddDefaultCharset状态on或者字符utf-8,没有则添加。(不推荐)
语法:AddDefaultCharset On|Off|charset ,默认值 AddDefaultCharset Off。
说明:当应答内容是text/plain或text/html时,在HTTP应答头中加入的默认字符集。