通过url链接传递字符串参数到后台,如果是中文的话会遇到乱码问题。原因是windows系统(中文)默认编码方式gb2312,linux下默认是ISO8859-1,而程序中设置的编码是UTF-8
通过判断os及在后台转换编码的方式可以解决这个问题。具体如下:
String s = System.getProperty("os.name");
if(s.startsWith("Windows")){
StateRemark = new String(request.getParameter("StateRemark").getBytes("gb2312"));
}else if(s.startsWith("Linux")){
StateRemark = new String(request.getParameter("StateRemark").getBytes("ISO8859-1"));
}else{
StateRemark = new String(request.getParameter("StateRemark"));
}