jsp的url后跟中文参数传参出现乱码

①重新编码:String urlParam= request.getParameter("urlParam");
  urlParam= new String(urlParam.getBytes("ISO-8859-1"), "UTF-8");

②tomcat中统一编码

tomcat
 的server.xml中在相对应的端口中加下面两句
useBodyEncodingForURI="true" 
URIEncoding="UTF-8"

③在web.xml文件中配一个过滤器:(没有试验成功)

第一步:<filter>

<filter-name>filter</filter-name>

<filter-class>com.social.filter.CodeFilter</filter-class>
设置过滤器的类名(filter包下的CoderFilter类)
</filter>

<filter-mapping>

<filter-name>filter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

第二步:编写com.social.filter.CodeFilter类:

import javax.servlet.Filter;

public class CodeFilter implements Filter {

public void destroy() {
// TODO Auto-generated method
stub

}

public void doFilter(ServletRequest arg0, ServletResponse
arg1,
FilterChain arg2) throws IOException, ServletException
{
// TODO Auto-generated method
stub
//把ServletRequest强制转化为HttpServletRequest
HttpServletRequest
request=(HttpServletRequest)arg0;
HttpServletResponse
response=(HttpServletResponse)arg1;
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
arg2.doFilter(request,
response);
}

public void init(FilterConfig arg0) throws ServletException
{
// TODO Auto-generated method stub

}

}

jsp的url后跟中文参数传参出现乱码,布布扣,bubuko.com

时间: 2025-01-17 20:36:01

jsp的url后跟中文参数传参出现乱码的相关文章

jsp中URL传递中文参数的处理

在页面的url中使用encodeURI(encodeURI(中文)),对中文进行编码,并在服务器的java程序中使用URLDecoder.decode(中文, "UTF-8")进行解码即可; 如果url中需要传递+.#.?等特殊符号,可以使用encodeURIComponent(encodeURIComponent(中文)),服务器解码方法跟encodeURI的解码相同.

url 传递中文参数乱码问题的终极解决方法。

估计很多人在做web开发的时候,都会碰到过url传递中文参数,有时候会出现乱码的问题,但有些项目或者环境,又不会有问题.当遇到乱码的时候,上网找了很多解决方案,比如: 页面设置它的编码方式,改成utf-8 或者gb2312. encodeURI(url),也有人说要2个encodeURI,如:window.location.href = encodeURI('b.html?cId='+id+"&cName="+encodeURIComponent(name)); 然后后台Str

java的url有中文参数导致乱码

话不多说,直接粘代码 发送方 UrlParaCode.jsp <%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <html> <head> <title>My JSP 'UrlParaCode.jsp' starting page</title> </head> <body> &l

URL传递中文参数,大坑一枚,Windows与Linux效果竟然不一致

下午,计划2个小时搞定,个人官网第6次升级,就可以干点轻松的事了,结果,下午多搞了2个小时,晚上又搞了2个小时,才搞定. 最后一个世界难题是,URL传递中文参数. 问题大致是这么出现的:我为"博客雷观" 这个栏目,增加了"全文搜索"功能,用lucene实现的.因此,需要传递中文参数.搜索框表单提交,传递中文,很简单就搞定了. 搜索之后的分页url,需要带上当前的"搜索词" ,比如"程序员",我在本地很轻松就搞定了.无非就是这样

解决URL带中文参数乱码问题

通过配置Tomcat来解决URL代中文参数乱码的问题. 首先打开Tomcat安装目录 打开conf文件夹 打开server.xml,在大约65行的位置,加一个属性 URIEncoding="UTF-8" 这样就支持Url中文参数了.

JS URL传递中文参数时出现乱码的处理

原文:JS URL传递中文参数时出现乱码的处理 在浏览器中显示的地址是这样的: 但是按F12调试的时候的地址却变化掉了: 这个肯定是是因为浏览器对url路径默认编码了.这个问题是在我们去取值的时候,得到的就是后面那一大串稀奇古怪的东西.得不到我们想要的值.怎么办呢?这里写出来的只是自己的解决方法,也许不能通用,跟大家分享下,有更好的方法,告我一声.      //得到url中的值 function request(paras){ var url = location.href; var para

中文参数传到服务端乱码问题

不论是用servlet还是spring框架,在浏览器端地址栏输入中文参数传到服务端的时候,都是以乱码的形式出现,即使浏览器和服务端 使用了UTF-8编码,还是乱码,这个时候需要去看下tomcat中的编码配置 然后在使用eclipse的时候重新配置server选项 检查这个文件的URIEncoding是不是utf-8

[JavaEE]Get请求URI中带的中文参数在服务端乱码问题的解决方法

在Get请求中,如果请求参数中带有中文,如 http://localhost:8080/DinnerParty/shop/search?query=多伦多, 在服务端拿到的是乱码. 这是因为客户端提交过去的是UTF-8编码的数据,而服务端解析URi时可能使用的是 iso8859-1编码. 修改tomcat配置文件server.xml <Connector port="8080" protocol="HTTP/1.1"               connect

jsp中request接收中文参数乱码问题解决办法

在利用表单提交数据时发现,获得的中文参数会发生乱码,解决方法如下: <body> <% String s=request.getParameter("uname"); s = new String(s.getBytes("ISO-8859-1"),"utf-8");//解决乱码问题 %> <%=s %> </body> s = new String(s.getBytes("ISO-8859