Apache 2.4 编码GB2312中文乱码的问题

部署了一个项目,代码和数据库都是gb2312的,本地和服务器都是Apache2.4的版本,本地编码没问题,response的content-type是空的。按html的mete解析的,查看源码也是正常的。可是部署到服务器上就出现乱码,虽然手动设置编码后页面显示正常,可是查看源码还是乱码的,查看了google浏览器的网络插件,发现 response的content-type 里charset给设置成utf-8了,结果一开始是修改的 apache的配置文件, AddDefaultCharset 为 Off 或者 GB2312 都不解决问题。百度了好多内容还是不行。多数是修改AddDefaultCharset。

最后还是FQ去google ,发现有个国外的哥们儿 采用了 headers_module  的扩展,设置 header 然后在 .htaccess 里面试了下,解决问题了。真高兴啊,搞了好久了。现在记录下来。

<Files ~ "\.html?$"> Header set Content-Type "text/html; charset=utf-8" </Files>

特别注意的是 这个需要打开 mod_headers.so 模块扩展,具体搜下 http.conf 里的  mod_headers.so ,打开前门的#就可以了。然后重启apache。

下面关于LAMP相关的内容你可能也喜欢

LAMP平台安装Xcache和Memcached加速网站运行 

CentOS 7下搭建LAMP平台环境 

CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境

CentOS 7.2 yum安装LAMP环境 

Ubuntu 14.04 配置 LAMP+phpMyAdmin PHP(5.5.9)开发环境 

Ubuntu 14.10 下安装 LAMP 服务图文详解 

LAMP结合NFS构建小型博客站点 

CentOS7下安装部署LAMP环境 

Ubuntu Server 14.04 LTS下搭建LAMP环境图文详解 

Ubuntu Server 16.04下配置LAMP环境

Ubuntu 16.04搭建LAMP开发环境

Ubuntu 16.04 LTS安装Apache2+PHP7.0+MySQL+phpMyAdmin图文详解 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/ec118c98c0ecd363ba411ec66e4cd2c0.html