apache php乱码怎么办-PHP问题

资源魔 25 0

apache php乱码的处理方法:起首正文掉“php.ini”中的代码;而后将主目次言语修正为“AddDefaultCharset utf-8”;接着将需求的文件夹更改编码形式;最初重启apache便可。

PHP显示乱码以及apache外部编码成绩的处理

编码成绩

PHP默许的编码是utf-8,测试时分为了不便没有去写html代码的meta标志也没有会呈现乱码

E:\OpenStudy\www\CSphp

而我下载的协助文档的html版本电子材料需求的是gb2312的设置

E:\OpenStudy\www\Electronic Books

开端设置装备摆设效劳器的时分,php采纳的是各人独特保举的utf-8的编码形式

[php.ini]
default_charset = "UTF-8"

效劳器根目次:

E:\OpenStudy\www

查阅的相干材料

AddDefaultCharset 指令
说   明 当应对内容是text/plain或text/html时,正在HTTP应对头中退出的默许字符集
语   法 AddDefaultCharset On|Off|charset
默许值 AddDefaultCharset Off
作用域 server config, virtual host, directory, .htaccess
笼罩项 FileInfo
状   态 外围(C)
模   块 core

当且仅当应对内容是text/plain或text/html时,此指令将会正在HTTP应对头中退出的默许字符集。实践上这将笼罩正在文档体中经过<meta>标签指定的字符集,然而实际的行为通常取决于用户阅读器的设置。AddDefaultCharset Off 将会禁用此性能。AddDefaultCharset On 将启用Apache外部的默许字符集iso-8859-1 。您也能够指定应用正在IANA注册过的字符集名字中的另一个charset 。比方说:

AddDefaultCharset utf-8

AddDefaultCharset只该当正在以下状况下应用:一切文本资本都应用同一种确定的字符集,且辨别标志他们的字符集十分费事。一个这样的例子是向蕴含静态内容的资本中增加字符集参数(比方先前遗留的CGI剧本),这样可能会由于正在输入中蕴含用户提供的数据而招致跨站点剧本攻打。然而请留意:更好的处理方法是修正或删除了这些剧本,由于设置了默许的字符集当前将会使患上阅读器的字符集主动探测性能生效。

AddCharset 指令
阐明 正在给定的文件扩大名与特定的字符集之间建设映照
语法 AddCharset charset extension [extension] ...
作用域 server config, virtual host, directory, .htaccess
笼罩项 FileInfo
状态 根本(B)
模块 mod_mime

AddCharset指令正在特定的文件扩大名与特定的字符集之间建设映照。charset是以extension为扩大名的文件的MIME字符集参数。这个映照关系会强迫增加正在一切现存的映照关系上,并笼罩一切现存的extension扩大名映照。

AddLanguage ja .ja
AddCharset EUC-JP .euc
AddCharset ISO-2022-JP .jis
AddCharset SHIFT_JIS .sjis

有了以上界说当前,文档xxxx.ja.jis会被当成是应用字符集ISO-2022-JP的日文文档(文档xxxx.jis.ja也同样)。AddCharset指令除了了用于告诉客户端文档的字符集编码形式以便正确地翻译以及显示之外,还用于内容商议(依据用户的优先抉择信息,从几个文档落选择一个前往给用户)。

<Directory> 指令
说   明 封装一组指令,使之仅对文件空间中的某个目次及其子目次失效
语   法 <Directory directory-path> ... </Directory>
作用域 server config, virtual host
状   态 外围(C)
模   块 core

<Directory>以及</Directory>用于封装一组指令,使之仅对某个目次及其子目次失效。任何能够正在"directory"作用域中应用的指令均可以应用。Directory-path能够是一个目次的完好门路,或是蕴含了Unix shell婚配语法的通配符字符串。正在通配符字符串中,"?"婚配任何单个的字符,"*"婚配任何字符序列。您也能够应用"[]"来确定字符范畴。以上通配符都不克不及婚配"/"字符。以是<Directory /*/public_html>将无奈婚配/home/user/public_html ,但<Directory /home/*/public_html>可以正确婚配。比方说:

<Directory /usr/local/httpd/htdocs> 
  Options Indexes FollowSymLinks 
</Directory>

应用directory-path参数的时分要留意:它们必需与Apache用于拜访文件的文件零碎门路放弃分歧。付与特定<Directory>的指令将无奈对经过没有同门路指向的同一个目次文件失效,比方说经过另一个符号衔接天生的门路。

处理办法

1.正文掉php.ini中的代码

[php.ini]
;default_charset = "UTF-8"

2.将主目次言语修正为

AddDefaultCharset  utf-8

将需求的文件夹【E:/OpenStudy/www/Electronic Books】更改编码形式

<Directory "E:/OpenStudy/www/Electronic Books">
  AddDefaultCharset gb2312
</Directory>

修正实现,重启apache,半途而废

不少相干常识,请拜访PHP中文网!

以上就是apache php乱码怎样办的具体内容,更多请存眷资源魔其它相干文章!

标签: php Apache php教程 php故障解决 php使用问题

抱歉,评论功能暂时关闭!