问题描述
我在做程序的时候,前台页面传出参数是中文例如success.jsp?name=中文,但是在后台接收时会出现乱码如何解决啊
解决方案
解决方案二:
页面的encoding设置了么项目最好自上而下都设置成utf-8
解决方案三:
后台获取参数之前写上,response.setContentType("text/html;charset=utf-8");然后再获取参数Stringname=request.getParameter("name")
解决方案四:
url中最好不要带中文参数,把中文参数放到页面标签作为隐藏属性传入后台.必须放url中的话.1.可以先设置页面的字符集为utf-82.在url传参的时候先用js对中文参数进行转码或者在后台接受的时候,把参数转码从iso-9959-1到utf-8escape,encodeURI,encodeURIComponent这3个js转码函数你可以去百度一下xxx=newString(xxx.getBytes("ISO-8859-1"),"UTF-8")
解决方案五:
传值时加encodeURI(encodeURI("中文"))//这里要两次转码代码接受时URLDecoder.decode(request.getParameter("name"),"UTF-8");
解决方案六:
如果你的url中要带中文参数,如果你用的服务器是tomcat,那你也可以找到config/server.xml的配置文件,在这个配置文件中,找到节点:<Connectorport="80"protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443"URIEncoding="gbk"/>加上:URIEncoding="GBK"或URIEncoding="utf-8"也可以解决中文乱码。
解决方案七:
在后台取值的时候:Stringvalue=newString(request.getParameter("name").getBytes("iso8859-1"),"GBK");
取到的value就是你想要的中文值
解决方案八:
在后台取值的时候:Stringvalue=newString(request.getParameter("name").getBytes("iso8859-1"),"GBK");
取到的value就是你想要的中文值
解决方案九:
引用7楼hahaytao的回复:
在后台取值的时候:JavacodeStringvalue=newString(request.getParameter("name").getBytes("iso8859-1"),"GBK");取到的value就是你想要的中文值
+1
解决方案十:
引用1楼coolbamboo2008的回复:
页面的encoding设置了么项目最好自上而下都设置成utf-8
对的而且。重新设置编码后要重新部署项目,不然还回事乱码
解决方案十一:
jsp和后台中的编码格式都改成gb2312Stringvalue=newString(request.getParameter("name").getBytes("iso8859-1"),"GB2312");这么写肯定就不会有乱码了
解决方案十二:
你可以建个过滤器,在里面设置字符编码集!
解决方案十三:
百度百度
解决方案十四:
用隐藏传值看看<inputtype="heidden"value="要传的值"name="">在另一个页面获取就可以了
解决方案十五:
varurl=encodeURL(url);//页面对跳转连接进行编码转换把tomcat配置和项目编码改成utf-8编码
解决方案:
前台页面的编码和传到后台设置的编码保持一致。
解决方案:
基本上都说了
解决方案:
在tomcat的服务器中配置一下,另外,页面上的字符编码一定要统一,最好都是utf-8------Goodluck!!!
解决方案:
引用7楼hahaytao的回复:
在后台取值的时候:JavacodeStringvalue=newString(request.getParameter("name").getBytes("iso8859-1"),"GBK");取到的value就是你想要的中文值
页面最好不要用中文传参。中文传参乱码处理同7楼+1
解决方案:
引用3楼dream1210的回复:
url中最好不要带中文参数,把中文参数放到页面标签作为隐藏属性传入后台.必须放url中的话.1.可以先设置页面的字符集为utf-82.在url传参的时候先用js对中文参数进行转码或者在后台接受的时候,把参数转码从iso-9959-1到utf-8escape,encodeURI,encodeURIComponent这3个js转码函数你可以去百度一下x……
+
解决方案:
如果地址栏填写中文,过滤器是无法过滤的。可以到Tomcat目录下cof/server.xml配置文件中的<connectorport="8080">节点中添加这一句URIEncoding="GBK"就可以了
解决方案:
引用20楼ton_ch的回复:
如果地址栏填写中文,过滤器是无法过滤的。可以到Tomcat目录下cof/server.xml配置文件中的<connectorport="8080">节点中添加这一句URIEncoding="GBK"就可以了
打错字了,是Tomcat目录下conf/server.xml才对,嘿嘿
解决方案:
引用1楼coolbamboo2008的回复:
页面的encoding设置了么项目最好自上而下都设置成utf-8
+1
解决方案:
该回复于2011-03-07 08:48:19被版主删除
解决方案:
引用20楼ton_ch的回复:
如果地址栏填写中文,过滤器是无法过滤的。可以到Tomcat目录下cof/server.xml配置文件中的<connectorport="8080">节点中添加这一句URIEncoding="GBK"就可以了
如果gbk还不行的话就改为URIEncoding="utf-8"
解决方案:
如果是spring依赖注入的话就去配置<filter></filter>
解决方案:
引用18楼linya333的回复:
引用7楼hahaytao的回复:在后台取值的时候:JavacodeStringvalue=newString(request.getParameter("name").getBytes("iso8859-1"),"GBK");取到的value就是你想要的中文值页面最好不要用中文传参。中文传参乱码处理同7楼+1
同意
解决方案:
乱码的话,最好过滤器,页面都设置成utf-8,这个是适合国际化的编码,另后台获得后可以重新编码如:Stringtest=request.getParameter("test");test=newString(test.getBytes("iso8859-1"),"utf-8");然后再输出看看,我都是这样解决的