首页 > JSP页面提交表单数据,写入数据库为乱码如何解决

JSP页面提交表单数据,写入数据库为乱码如何解决

用了POST方式提交的表单,也设置了编码方式

response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");

结果数据库里存入的还是乱码..


解决此解决的正确思路应该是:
1.找到乱码产生的原因,是服务器端获取表单数据时,编码方式错误导致的乱码还是数据库编码设置导致的乱码。
2.如果是前者,请在编码时将表单数据转码,如果是后者,那么应该修改数据库编码或者修改将要插入数据的编码。


查一下数据库存入字段字符编码


可以加断点,debug调试一下,如果不会用那就用sysout吧。
先确定是从页面传到到后台时乱码(90%),还是从后台到数据库乱码了(10%)

提供一个笨办法,解决从页面到后台乱码问题的

String param = new String(query.getBytes("ISO-8859-1"),"UTF-8");

另外说个我曾经见到的一个奇怪的问题。

我请求用SpringMVC映射POST的请求是/upload结果上传文件提交后,服务器返回了302将请求重定向到了/upload/,而重定向的结果就是改为GET请求了。

你查看一下是不是也转发成GET请求了。
如果是,那么get请求是无法通过程序指定编码的,除非你改tomcat配置。

【热门文章】
【热门文章】