http传送参数有两种方法:get 和post
当时使用get方法传递中文参数是会有乱码现象
解决办法:
1、在jsp压面url后面的参数使用 encodeURI:"&zxbghy="+ encodeURI(zxbghy)
2、在后台java获取参数时使用字节数组:temphgdmhy = new String(hgdmhy.getBytes("ISO-8859-1"), "UTF-8");
案例,用get方法传递两个中文参数:zxbghy和hgdmhy:
1、前端代码:
1 1、//前端代码方法1: 2 url : "statistic/getBuyerListByPolicyno.action?condition.continental=" 3 + continent 4 + "&zxbghy=" 5 + encodeURI(zxbghy) 6 + "&hgdmhy=" 7 + encodeURI(hgdmhy) , 8 // 或者方法2: 9 url : encodeURI("statistic/getBuyerListByPolicyno.action?condition.continental=" 10 + continent 11 + "&zxbghy=" 12 + zxbghy 13 + "&hgdmhy=" 14 + hgdmhy 15 ),
2、后端:
/* * 解决中文乱码问题 */ String tempzxbghy = ""; String temphgdmhy = ""; try { tempzxbghy = new String(zxbghy.getBytes("ISO-8859-1"), "UTF-8"); temphgdmhy = new String(hgdmhy.getBytes("ISO-8859-1"), "UTF-8"); } catch (UnsupportedEncodingException e) { System.out.println("转换编码异常"); e.printStackTrace(); } condition.setZxbghy(tempzxbghy);//这里可以直接使用tempzxbghy了 condition.setHgdmhy(temphgdmhy);//这里可以直接使用temphgdmhy了