首页 > 开发 > Apache > 正文

apache中文乱码怎么解决

2020-07-28 15:01:38
字体:
来源:转载
供稿:网友
  要解决Apache中文乱码的情况,先修改httpd.conf (在Redhat中放置的位置为/etc/httpd/conf/)
  查找:
  AddDefaultCharset ISO-8859-1
  改成:
  #AddDefaultCharset ISO-8859-1
  AddDefaultCharset off
  这种方式关掉了服务器的默认语言的发送,这样仅凭html文件头中设置的语言来决定网页语言。
  很多文章都说通过修改为 AddDefaultCharset GB2312 把缺省语言改成GB2312来解决中文乱码,确实GB2312内码的网页可以正常显示了,但这并非万全之策。因为当你的网页内码不是GB2312,就算你在网页用下面的meta指定了正确的语言,如ISO8859-1,也不会解码为ISO8859-1,因为Apache已经先你一步将GB2312指定为网页的语言了,如下图:
  而这个是加了 AddDefaultCharset off 后的:
  修改后请重新启动Apache,在Redhat中命令为
  /etc/init.d/httpd restart
  当使用一些网页脚本引擎,如PHP,还可能需要修改相应的配置文件。
  以PHP为例,需要修改php.ini (Red Hat中位置在/etc/)
  找到:
  default_charset = "iso-8859-1" 或者类似的,如 default_charset = "gb2312",将其注释掉:
  default_charset="iso-8859-1"
  客户端:
  在中文网页请中依情况在标签中添加:
  GB2312:
  <META content="text/html; charset=gb2312" http-equiv="Content-Type">
  BIG5:
  <META content="text/html; charset=big5" http-equiv="Content-Type">
  UTF-8: (注意是UTF-8,而不是UTF8,我已经上过当了)
  <META content="text/html; charset=utf-8" http-equiv="Content-Type">
  如果还是不正常,请清空浏览器的Cache后,应该就可以解决乱码的现象了。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表