欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-02-10 17:18:52
中文问题,是在应用中常常遇到的问题。 这将涉及到字符解码操作,我们在应用中常常会用new string(fieldtype.getbytes("iso-8859-1"),...

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


这将涉及到字符解码操作,我们在应用中常常会用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");