java 页面url传值中文乱码的解决方法_java

中文问题,是在应用中常常遇到的问题。

这将涉及到字符解码操作,我们在应用中常常会用new String(fieldType.getBytes("iso-8859-1"), "UTF-8");等类似的方法去解码。但这种方式受具体应用环境限制,往往在应用部署环境发生改变时,还会出现中文乱码。

在这里介绍一种解决方法,可以在任何应用部署环境下通用。此方法分两步:

1、在客户端用escape(encodeURIComponent(fieldValue))方法编码,例如:

复制代码 代码如下:

title=escape(encodeURIComponent(title)); //这是js里的函数

url="<%=request.getContextPath()%>/print/printList!printTable.action?title="+title;

2、在服务端用java.net.URLDecoder.decode(getRequest().getParameter("title"),"UTF-8"),进行解码。

-----------------------------------------------------------------------------

parent.window.location.href 和 iframe中src的乱码问题。

要在这两个url地址中传中文,必须加编码,然后再解码。

编码:encodeURI(encodeURI("包含中文的串"))

解码:java.net.URLDecoder.decode("需要解码的串","utf-8");

时间: 2024-11-18 22:15:51

java 页面url传值中文乱码的解决方法_java的相关文章

java表单提交中文乱码的解决方法_java

本文实例为大家分享了java表单提交中文乱码的解决方法,供大家参考,具体内容如下 主页index.xml <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>servlet演示</title> </head> <body> <h2&

Java读取properties配置文件时,出现中文乱码的解决方法_java

如下所示: public static String getConfig(String key) { Properties pros = new Properties(); String value = ""; try { pros.load(new InputStreamReader(Object.class.getResourceAsStream("/properties.properties"), "UTF-8")); value = pr

通过url方式传递中文乱码的解决方法_java

例如: 通过url传递中文参数:xxx.do?name=名字&age=十八岁 解决办法: 1.在html页面,通过js的encodeURI方法对字符2次编码 encodeURI(encodeURI(jsonStr)); 2.在后台进行解码 java.net.URLDecoder.decode(jsonStr, "UTF-8");

asp.net 地址栏url传中文乱码 的解决方法

1.设置web.config文件.   <system.web>    ......    <globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />    ......    </system.web>   或者: aspx文件中: &l

js传值中文乱码:js url传值中文乱码之解决之道

因为js url在传值的过程中使用的是js自己默认的字符集编码规则,我们必须把它转成属于我们自己的编码规格-------------在websphere 中使用的是url=encodeURI(encodeURI(url)); //用了2次encodeURI 测试成功,第一次转换没有尝试,处理方法一.js 程序代码:url=encodeURI(url);注意是整个URL服务器端的代码:String linename = new String(request.getParameter("name&q

js url传值中文乱码之解决之道_javascript技巧

在websphere 中使用的是url=encodeURI(encodeURI(url)); //用了2次encodeURI 测试成功,第一次转换没有尝试, 处理方法一. js 程序代码:url=encodeURI(url);注意是整个URL 服务器端的代码:String linename = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8"); 处理方法

解决java页面URL地址传输参数乱码的方法_java

以下就是为大家分享的URL地址传输参数乱码的解决方法: 1.在tomcat中配置:在tomcat安装目录下面找到conf下面的server.xml找到以下代码段,修改URIEncoding为GBK: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="GBK&q

Servlet的中文乱码常用解决方法

Servlet的中文乱码常用解决方法 在servlet页面就出错了,打印出就是乱码,why? public class toDetail extends HttpServlet {  public void doGet(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {   response.setContentType("text/html&quo

jQuery ajax方法传递中文时出现中文乱码的解决方法_jquery

本文实例讲述了jQuery ajax方法传递中文时出现中文乱码的解决方法.分享给大家供大家参考,具体如下: 使用jQuery的ajax方法,在传递中文时出现中文乱码,按照以前的方法,修改了jquery文件中的ajaxSetting也不好使 复制代码 代码如下: sajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded;charse