没有form表单,如何用超链接传输汉字。比如<a href="findBygjly.do?page=<%=page3.getPage()-1 %>&gjly='<%=document.getGjly() %>'">上一页</a>,documen.getGjly()是汉字,当我在servlet里用 String gjly=request.getParameter("gjly");取出的数据位乱码,怎么解决?求助大神。
调试欢乐多
设置一下试试
2 把你要获取的参数转码
String str = new String(str.getBytes("GBK"), "utf-8");
String str = new String(str.getBytes("utf-8"), "GBK");
不知道你的编码格式你这样试一下绝对可以的
就你的方式,直接servlet里用 String gjly=request.getParameter("gjly"),然后 String realGjly= new String(gjly.getBytes( "ISO8859-1"), "UTF-8");该realGjly才为楼主所需要
URLEncoder.encode("汉字","UTF-8")用这个编码
接收的时候用URLDecoder.decode(input, "UTF-8")解码
URLEncoder.encode("汉字","UTF-8")用这个编码
接收的时候用String gjly=request.getParameter("gjly");URLDecoder.decode(gjly, "UTF-8")解码
.getParameter("userdept").getBytes("ISO8859_1"), "gb2312"); 看看
String s =request.getParameter("username");
s=new String(s.getBytes("iso-8859-1),"utf-8");就是中文了
比如你用utf-8,
String gjly=request.getParameter("gjly");
gjly= java.net.URLDecoder.decode(gjly, "UTF-8"); //解码
server.xml中connector中加上:useBodyEncodingForURI="true"
URLEncoder.encode("参数名","utf-8");URLDecoder.decode("参数名","utf-8");