通常在URL大家会传中文参数到服务器 在服务器接收是乱码 通常最简单的解决方法是通过转成utf-8+escape形式 %E4%B8%AD%E6%96%87 google也是采用此方法
这样的方法最简单最快速.让tomcat接受这样参数是不需要手动转码的,tomcat自动会识别,当在request得到参数的时候就是中文.
先说说配置的方法.
找到tomcat server.xml 查找Connector关键字,加上URIEncoding="UTF-8"就可以了.
下边在说说如果转成utf-8+escape形式.
1.jsp情况下可以使用如下.
www.x.com/sub.jsp?name=<%=com.liferay.util.JS.encodeURIComponent("中文")%>
com.liferay.util.JS这个包自己下,我也忘记了.自己写一个也可以.
这里提供一下源代码
public static final String ENCODING = "UTF-8";
public static String encodeURIComponent(String s) {
return encodeURIComponent(s, ENCODING);
}
public static String encodeURIComponent(String s, String encoding) {
// Encode URL
try {
s = URLEncoder.encode(s, encoding);
} catch (Exception e) {
}
s = s.replaceAll("\\+","%20");
s = s.replaceAll("%2B","+");
return s;
}
public static String decodeURIComponent(String s) {
return decodeURIComponent(s, ENCODING);
}
public static String decodeURIComponent(String s, String encoding) {
s = s.replaceAll("%u[0-9a-fA-F]{4}", "");
s = s.replaceAll("\\+","%2B");
s = s.replaceAll("%20","+");
try {
s = URLDecoder.decode(s, encoding);
} catch (Exception e) {
}
return s;
}
2.javascript情况下,这种更加简单.
alert("www.x.com/sub.jsp?name="+encodeURIComponent("中文"));
分享到:
相关推荐
某些通过URL来传送、值为汉字的参数,在页面中显示的是乱码,但是在本地开发环境是正常显示的。排除的因素当然就是服务器的设置不当了,但具体是那些原因呢?一般我们所装的linux服务器,是中文版的,所以系统环境的...
最近遇到一个问题,比如GET请求中,key,value中带有特殊符号,请求会报错。接下来通过本文给大家分享解决SpringBoot2.1.3修改tomcat参数支持请求特殊符号 ,需要的朋友可以参考下
如果直接拼接,传到后台Action的参数对象中后取出会是乱码,需要编码后再拼接到URL上。 解决方法是在Action中添加一个成员变量,保存编码后的中文参数。在vm页面渲染时取出这个变量值,再拼接超链接。 在这里碰到的...
我们在andorid项目中通过get方式向服务器发送请求,其中url参数带有中文,将会产生乱码,乱码产生的原因有两种: 1、 在提交参数时,没有对中文参数进行URL编码 2、 Tomcat服务器默认采用的是IOS8859-1编码(不支持...
使用Tomcat应用服务器时,为了更好的支持URL地址中的中文参数问题.需要在tomcat进行如下设置: 需要修改server.xml文件的如下行: maxThreads="150" minSpareThreads="25" maxSpareThreads="75" ...
这个包经过重新编译,编译版本为1.5,默认编码格式修改为utf-8,你也可以设置charset参数,当然你需要在tomcat server.xml中设置URIEncoding="your wanna encoding...
9.5 对发往客户的url进行编码 9.6 显示客户访问计数的servlet 9.7 累计用户数据的列表 9.8 拥有购物车和会话跟踪功能的在线商店 第ii部分 jsp技术 第10章 jsp技术概述 10.1 对jsp的需求 10.2 jsp的好处...
查找资料:TOMCAT 链接参数有中文时,乱码解决方法 http://hi.baidu.com/jadestone/blog/item/7564deefc9192d36acafd5be.html 修改tomcat-home/conf/server.xml 方法一: 在两处地方加上URIEncoding="utf-8": ...
(假若您希望使用其它用户名如root,您需要修改hibernate的数据库配置中的连接参数——位于hibernate.cfg.xml中,以及创建数据库表时的连接参数——位于build.xml中。) 7, 确认ant安装正确. ant可以在此下载: ...
包括一些语音编码器, Hex, Base64, 以及URL encoder. Collections Commons-Collections 提供一个类包来扩展和增加标准的 Java Collection框架 Configuration Commons-Configuration 工具对各种各式的配置和参考...
5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、数据库连接操作 5.5、包含指令 5.5.1、静态包含 5.5.2、动态包含 5.6、跳转指令 5.7、实例操作:用户登陆程序实现(JSP + JDBC实现) 5.7.1、创建数据库表 ...
79. JSP字符编码问题及转换大全? 80. 使用过滤器设置请求编码? 81. JSP或Servlet调用DLL? 82. 在JSP中包含Applet(时钟)? 83. 在Applet中显示一个html页面? 84. 使session强制失效85. iFreme编辑框使用? 86. Applet与...
这个动作还依赖于该标签的 sessionParam 属性,如果该属性存在,那么参数值将在页面显示之前写到 com.tonbeller.jpivot.param.SessionParamPool 当中,如果不存在该属性,参数将会被编码到超链接当中。 例如: ...
5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、数据库连接操作 5.5、包含指令 5.5.1、静态包含 5.5.2、动态包含 5.6、跳转指令 5.7、实例操作:用户登陆程序实现(JSP + JDBC实现) 5.7.1、创建数据库表 ...
5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、数据库连接操作 5.5、包含指令 5.5.1、静态包含 5.5.2、动态包含 5.6、跳转指令 5.7、实例操作:用户登陆程序实现(JSP + JDBC实现) 5.7.1、创建数据库表 ...
5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、数据库连接操作 5.5、包含指令 5.5.1、静态包含 5.5.2、动态包含 5.6、跳转指令 5.7、实例操作:用户登陆程序实现(JSP + JDBC实现) 5.7.1、创建数据库表 ...
5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、数据库连接操作 5.5、包含指令 5.5.1、静态包含 5.5.2、动态包含 5.6、跳转指令 5.7、实例操作:用户登陆程序实现(JSP + JDBC实现) 5.7.1、创建数据库表 ...
5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、数据库连接操作 5.5、包含指令 5.5.1、静态包含 5.5.2、动态包含 5.6、跳转指令 5.7、实例操作:用户登陆程序实现(JSP + JDBC实现) 5.7.1、创建数据库表 ...
5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、数据库连接操作 5.5、包含指令 5.5.1、静态包含 5.5.2、动态包含 5.6、跳转指令 5.7、实例操作:用户登陆程序实现(JSP + JDBC实现) 5.7.1、创建数据库表 ...
5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、数据库连接操作 5.5、包含指令 5.5.1、静态包含 5.5.2、动态包含 5.6、跳转指令 5.7、实例操作:用户登陆程序实现(JSP + JDBC实现) 5.7.1、创建数据库表 ...