最近在帮同学做ipv6的网站,本地测试已经成功了,本地环境是Apache+php+MySQL的。

今天放到Linux的服务器上发现出现各种问题,主要是编码的问题和文件路径的问题。 :evil:

  1. 编码问题
    • 症状:网页head里写的是gb2312的编码,但是在网页打开的时候,除了主页文字显示正常外,其它网页全部是乱码。编码方式为UTF-8.只能将查看编码改为gb2312的时候才正常。
    • 问题分析:Apache搭建的服务器,Apache会模式使用自己设置的编码方法查看,如果没有设置,这才会使用网页中写的meta标签中的编码方法,如gb2312。
    • 解决方法:打开文件系统/etc/httpd/conf/http.conf文件,找到AddDefaultCharset这行,将后面的UTF-8改为gb2312。但是这样的话,在这台服务器上的其它网页就不能正常显示了。那就把这句话给注释掉,在最前面加上#就可以了。
    • 总结:总的来说,就是一个优先级问题。
      1. 如果你在Apache中设置了编码方式,那就强制使用你定的编码,不管你网页中写的是什么。
      2. 如果你没有设置Apache编码方式,就是将那句话给注释掉了。那么就以你网页中meta标签中的编码方式。
  2. 另外,我看了一下,在Windows下的httpd.conf配置文件中没有AddDefaultCharset。

  3. 路径问题
  • 这个问题比较好解决,问题是,Windows下和Linux下还真的不一样。 8O

    >> 若为原创,转载请注明: 转载自Laycher's Blog

    >> 本文链接地址: Apache php 网页编码问题

    >> 订阅本站: http://feed.feedsky.com/laycher