水木社区手机版
首页
|版面-Python的自由天空(Python)|
新版wap站已上线
返回
1/1
|
转到
主题:utf8显示乱码
楼主
|
liduo
|
2021-10-15 00:32:37
|
展开
win11,apache24 http + cgi + python 3.9
apache conf文件设置了默认charset为utf-8
py文件头部声明了coding:utf-8,文件格式也是utf-8无bom
cmd窗口执行py文件,正常
但是浏览器打开py文件,结果就是中文乱码
浏览器打开htdocs下静态中文utf-8页面,就可以正常显示
查了半天,也没找到原因,有了解的吗
--
FROM 221.218.137.*
2楼
|
liduo
|
2021-10-17 00:33:37
|
展开
这个加了,也不行
【 在 wincss 的大作中提到: 】
: 这年头还有用cgi的。。。。
: Python代码最开始先输出个
: print("Content-Type: text/plain; charset=UTF-8\r\n")
: ...................
--
FROM 221.218.137.*
4楼
|
liduo
|
2021-10-18 15:05:40
|
展开
都加了,还是乱码;如果这些地方都改为gbk,就能显示
页面
源码
python
[upload=3][/upload]
【 在 wincss 的大作中提到: 】
: 那后面的内容呢,HTML里还有一个编码声明,如果你声明和实际不符的话就会乱码
:
--
FROM 106.121.163.*
6楼
|
liduo
|
2021-10-20 13:19:32
|
展开
感谢,终于可以了!
【 在 wincss 的大作中提到: 】
: 我大致上知道是怎么回事了。。。
: 你在 apache 的配置里加一个 SetEnv PYTHONIOENCODING utf-8
: 应该就行了
: ...................
--
FROM 106.121.161.*
8楼
|
liduo
|
2021-10-20 13:55:09
|
展开
学习了
看来cgi+python的用的不多啊。。。
【 在 wincss 的大作中提到: 】
: 原因就是 Python 解释器会检查运行环境,当你输出 unicode 字符串的时候,会根据
: 运行环境来 encode,在你加上那个配置之前,Python 认为解释器外的环境是 GBK 的。
: 就把你输出的内容用 GBK 来编码了。
: ...................
--
FROM 106.121.161.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版