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");