使用 apache 服务器执行 python 的 cgi 脚本时出现中文乱码?

这是 apache 服务器配上 python 脚本。改了以下的配置

ScriptAlias /cgi-bin/ "D:/DemoProject/apache/www/"

<Directory "D:/DemoProject/apache/www">
    AllowOverride None
    Options +ExecCGI
    # Order allow,deny
    # Allow from all
    Require all granted
</Directory>

AddHandler cgi-script .cgi .pl .py

脚本文件是使用 utf-8 格式的,当出现中文乱码时,我试着把 print ('<meta charset="utf-8">') 这行注释掉,这个时候发现没有问题了。而一般设置 <meta charset="utf-8"> 就是防止中文乱码的,而这里却相反,注释掉后反而正常显示,请问一下为什么会这样?

阅读 1.2k
2 个回答

可能是默认使用gbk编码,然后输出确设置为utf,导致编码方式不同造成的

把 响应头和响应内容发出来.

猜测是缺charset的设置.

要么在cgi脚本里添加 Content-Type: text/html;charset=utf-8 的设置, 要么在 <meta>标签中添加charset设置.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题