form表单提交中文乱码(前台中文到JAVA后台乱码)问题及解决
一、问题:
页面输入框中的中文内容,在后台乱码,导致搜索功能失效;(详细可以见后面的重现)
二、原因:
浏览器对于数据的默认编码格式为UTF-8,但是Tomcat(tomcat7及以下)默认以ISO-8859-1解码,导致乱码;
三、解决方法:
3.1 后台对参数字符串重新构造;
代码一:
activityName = new String(activityName.getBytes("iso-8859-1"),"utf-8"); //一行代码即可
代码二:
activityName = java.net.URLEncoder.encode(activityName,"ISO-8859-1");
activityName = java.net.URLDecoder.decode(activityName,"UTF-8");
3.2 直接更改Tomcat配置
3.3 其他很多方法可百度