jsp中向数据库添加数据后数据库显示乱码??有解决办法吗,最好详细点的
3个回答
展开全部
1、你用的是Statement插入数据库的。将你的sql语句输出一下,看是不是在插入数据库之前就已经是乱码了,如果是,解决方案有:(1)建立一个filter拦截器,去网上搜,一堆呢,注意配置啊。(2)在这个方法前加上:request.setcharacterencoding("utf-8");
response.setcharacterencoding("utf-8");编码变为你自己的。
2、如果你用的是PreparedStatement插入数据库的,同样做上面的处理,并且在链接数据库的url后加上characterencoding='utf-8',编码是你自己的。
response.setcharacterencoding("utf-8");编码变为你自己的。
2、如果你用的是PreparedStatement插入数据库的,同样做上面的处理,并且在链接数据库的url后加上characterencoding='utf-8',编码是你自己的。
展开全部
你可以在action中先把从jsp中获取的数据打印下,看是不是乱码,如果是乱码,设置下页面和后台的字符类型,然后加个filter过滤一下就成了。
如果是加了过滤器后后台打印出来的是正常 ,然后保存到数据库后是乱码,你可以尝试调下数据库的字符类型。
一般来说,第二种情况都不会发生,加个filter之后就都正常了。
如果是加了过滤器后后台打印出来的是正常 ,然后保存到数据库后是乱码,你可以尝试调下数据库的字符类型。
一般来说,第二种情况都不会发生,加个filter之后就都正常了。
追问
问题解决了,,jsp页面和servlet都用gbk编码就行。我想问下filter怎么用的?不太明白。
追答
这个其实就是过滤器。用servlet为例。
一个servlet类,然后在web.xml中配置下,把下面代码放到web.xml中就行了
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>pro.filter.SetCharacter</filter-class> <!-- 这里是过滤器类的地址 -->
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value><!-- 这里是过滤器过滤后的字符类型 -->
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一楼回答的是解决问题的办法,不过以后在开发项目前,一定要把eclipse的工作空间编码,以及各种jsp的文件编码全部设置为utf-8,包括数据库的编码格式,全部统一,这样未来开发就不会出现什么乱码问题,我说的只是你需要注意的一点.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询