做了个小web项目,从jsp页面中的form表单向数据库提交中文内容时发现提交到数据库的内容时乱码,
用debug断点调试半天发现从jsp提交的时候就已经时乱码了,
搜索了一通,现已解决,
解决方法就是将form表单提交的内容手动进行一次转码
如果提交方式为Post时,将request和response的编码转换为与页面编码PageEncoding一直
request.setCharacterEncoding("...."); ....处应替换为本页面的编码方式
response.setCharacterEncoding("...."; 同理
如果提交方式为Get时,上述方法就不能使用了,因为Get的提交方式是将表单内容放入url传递至下一页面,
setCharacterEncoding方法不能改变其内容,此时就要对获取到的属性内容进行手动转码
String context = (String)request.getParameter("context");
context = new String(context.getBytes("ISO-8859-1"),"GB2312");
这样提交的内容就能正常显示了