如何解决php request 乱码问题-PHP问题

资源魔 40 0

php request乱码的处理方法:起首关上tomcat的server.xml;而后设置元素的属性“URIEncoding=“UTF-8””便可。

保举:《PHP视频教程》

request、response 中文乱码成绩与处理形式

request乱码指的是:阅读器向效劳器发送的申请参数中蕴含中文字符,效劳器猎取到的申请参数的值是乱码;

response乱码指的是:效劳器向阅读器发送的数据蕴含中文字符,阅读器中显示的是乱码;

乱码孕育发生的缘由:不论是request乱码仍是response乱码,其实都是因为客户端(阅读器)跟效劳器端采纳的编码格局纷歧致酿成的。以request乱码为例:阅读器向效劳器发送申请,由于阅读器与效劳器之间的通讯本质上是socket流,以是要先将申请参数(字符)转换成字节,也就是编码进程,效劳器接纳到申请参数落后行解码(字节转字符),而后封装到request工具中。假如客户真个编码与效劳器真个解码没有对立,就会招致经过request猎取到的申请参数的值是乱码。

处理:

1、response乱码

效劳器发给阅读器的数据默许是依照ISO-8859-1编码,阅读器接纳到数据后依照默许的字符集进行解码后显示,假如阅读器的默许解码字符集没有是ISO-8859-1,就呈现乱码。

关于response乱码,只要要正在效劳器端指定一个编码字符集,而后告诉阅读器依照这个字符集进行解码就能够了。有三种形式:

一、A、设置效劳器真个编码

response.setCharacterEncoding("utf-8”);

默许是ISO-8859-1;该办法必需正在response.getWriter()以前进行设置

B、告诉阅读器效劳器发送的数据格局

response.setHeader("contentType", "text/html; charset=utf-8”);

二、A、告诉阅读器效劳器发送的数据格局

response.setContentType("text/html;charset=utf-8”);

同等于response.setHeader("contentType", "text/html; charset=utf-8”);它其实会笼罩response.setCharacterEncoding("utf-8”) ,正在开发中只要要设

B、设置效劳器真个编码

response.setContentType("text/html;charset=utf-8”);

三、A、设置效劳器真个编码

response.setCharacterEncoding("utf-8”);

B、阅读器应用utf-8进行解码

总结:设置:

A、设置效劳器真个编码

response.setCharacterEncoding("utf-8”);

B、告诉阅读器效劳器发送的数据格局

response.setContentType("text/html;charset=utf-8”);

C、阅读器应用utf-8进行解码

自己就是这样设置的,以防万一;

2、request乱码

从阅读器发动的拜访形式有三种:正在地点栏间接输出URL拜访、点击页面中的超链接拜访、提交表单拜访。第一种拜访形式阅读器默许将参数依照utf-8进行编码,前面两种拜访形式阅读器将参数依照以后页面的显示编码进行编码。以是关于request乱码,只要要正在效劳器端设置相应的解码格局便可。因为拜访形式没有同,阅读器对参数的编码格局也没有同,为了不便解决,经过超链接以及表单的拜访也规则必需是utf-8格局,即显示以后页面的编码也要应用utf-8,这样阅读器将对立应用utf-8对参数进行编码。

A、post形式

post形式属于表单提交,参数存正在于申请体中。

request.setCharacterEncoding("utf-8”)

B、get形式

get形式提交的参数会跟正在申请行中的uri后边,效劳器依照默许的iso-8859-1进行解码,这时候候处理乱码有两种方法:

方法一:修正效劳器端对uri参数的默许编码

正在tomcat的server.xml中,设置元素的属性URIEncoding="UTF-8”便可。(默许不设置此属性)

例如: 留意:一、设置元素的属性useBodyEncodingForURI=“true”,意义是申请体以及uri应用相反的编码格局。经过设置这两个属性,既能够处理get形式的乱码,又能够处理 post形式的乱码。二、经过修正server.xml指定效劳器对get以及post对立依照utf-8解码,要求tomcat治理下的一切web使用都要应用utf-8编码,即一切的jsp、html页面都应用utf-8编码。

以上就是若何处理php request 乱码成绩的具体内容,更多请存眷资源魔其它相干文章!

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

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