在日常工作中,难免GET和POST请求中会传入中文,例如模糊查询中,我就差点掉入别人的坑。
代码如下:
JS:
url = "${ctx}/commonApply/openSendYear?codeInfo=${code}&busType=${proItemInfo.type}&busTypeName=${busTypeName}";
${busTypeName}
JAVA:String busTypeName = request.getParameter("busTypeName");
传入的是中文,传到后台是 "?" 。这个令我非常的尴尬。
解决乱码方法有如下方法:
一、从页面上解决:
- 1、encodeURI(url)
- url = encodeURI("${ctx}/commonApply/openSendYear?codeInfo=${code}&busType=${proItemInfo.type}&busTypeName=${busTypeName}";
- ${busTypeName}
- )
- 对整个URL进行编码,它采用的是UTF-8格式输出编码后的字符串。不过encodeURI除了ASCII编码外对于一些特殊的字符也不会进行编码如:! @ # $& * ( ) = : / ; ? + ‘。
- 2、作为data参数提交
- 如果是可以用AJAX实现的请求,可以将中文的参数放到data里面提交
- 3、页头上设置pageEncoding、contentType<