如何解决apache php乱码的问题

  介绍

这篇文章运用简单易懂的例子给大家介绍如何解决apache php乱码的问题,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

apache php乱码的解决办法:首先注释掉“php。ini”中的代码,然后将主目录语言修改为“AddDefaultCharset utf - 8”,接着将需要的文件夹更改编码方式,最后重启apache即可。

<强> PHP显示乱码和apache内部编码问题的解决

<强>编码问题

PHP默认的编码是utf - 8,测试时候为了方便不去写html代码的元标记也不会出现乱码

E: \ OpenStudy \ www \ CSphp

而我下载的帮助文档的html版本电子资料需要的是gb2312的设置

E: \ OpenStudy \ www \电子图书

开始配置服务器的时候,PHP采用的是大家共同推荐的utf - 8的编码方式

(PHP . ini)   default_charset=癠TF-8"

服务器根目录:

E: \ OpenStudy \ www

查阅的相关资料

AddDefaultCharset指令   说明当应答内容是文本/纯文本或html时,在HTTP应答头中加入的默认字符集   语法AddDefaultCharset> AddDefaultCharset utf - 8

AddDefaultCharset只应当在如下情况下使用:所有文本资源都使用同一种确定的字符集,且分别标记他们的字符集非常麻烦。一个这样的例子是向包含动态内容的资源中添加字符集参数(比如先前遗留的CGI脚本),这样可能会因为在输出中包含用户提供的数据而导致跨站点脚本攻击。但是请注意:更好的解决办法是修改或删除这些脚本,因为设置了默认的字符集以后将会使得浏览器的字符集自动探测功能失效。

AddCharset指令   说明在给定的文件扩展名与特定的字符集之间建立映射   语法AddCharset扩展字符集(扩展)……   作用域服务器配置,虚拟主机,目录,. htaccess   覆盖项FileInfo   状态基本(B)   模块mod_mime

AddCharset指令在特定的文件扩展名与特定的字符集之间建立映射.charset是以扩展为扩展名的文件的MIME字符集参数。这个映射关系会强制添加在所有现存的映射关系上,并覆盖所有现存的扩展扩展名映射。

AddLanguage ja .ja   AddCharset EUC-JP .euc   AddCharset iso - 2022 - jp济南   AddCharset SHIFT_JIS .sjis

有了以上定义以后,文档xxxx.ja.jis会被当成是使用字符集iso - 2022 - jp的日文文档(文档xxxx.jis.ja也一样).AddCharset指令除了用于通知客户端文档的字符集编码方式以便正确地翻译和显示以外,还用于内容协商(根据用户的优先选择信息,从几个文档中选择一个返回给用户)。

& lt; Directory>指令   说明封装一组指令,使之仅对文件空间中的某个目录及其子目录生效   语法& lt;目录directory-path>…& lt;/Directory>   作用域服务器配置,虚拟主机   状态核心(C)   模块核心

& lt; Directory>和& lt;/Directory>用于封装一组指令,使之仅对某个目录及其子目录生效。任何可以在“directory"作用域中使用的指令都可以使用.Directory-path可以是一个目录的完整路径,或是包含了Unix shell匹配语法的通配符字符串。在通配符字符串中,“?“匹配任何单个的字符,“*“匹配任何字符序列。您也可以使用“[]”来确定字符范围。以上通配符都不能匹配“/白址K? lt;目录/*/public_html>将无法匹配/home/user/public_html,但& lt;目录/home/*/public_html>能够正确匹配。比如说:

& lt;目录/usr/local/httpd/htdocs>   FollowSymLinks选项索引   & lt;/Directory>

使用目录路径参数的时候要注意:它们必须与Apache用于访问文件的文件系统路径保持一致。赋予特定& lt; Directory>的指令将无法对通过不同路径指向的同一个目录文件生效,比如说通过另外一个符号连接生成的路径。

<>强解决方法

1。注释掉php。ini中的代码

(php . ini)   ;default_charset=癠TF-8"

2。将主目录语言修改为

AddDefaultCharset utf - 8

将需要的文件夹【E:/OpenStudy/www/电子书】更改编码方式

& lt;目录“E:/OpenStudy/www/电子Books"比;   AddDefaultCharset gb2312   & lt;/Directory>

修改完成,重启apache大功告成

如何解决apache php乱码的问题