jsp页面表单提交,controller接收乱码,数据库乱码等解决方法

1.web项目出现乱码问题

做web项目的时候,多多少少会出现中文乱码问题。
对于jsp页面表单提交,controller接收乱码,保存到数据库中文乱码等问题,统一给出几种乱码的解决方式。

1.项目编码没有设置为utf8

有一些普遍的乱码问题,是因为我们在创建web项目或者是导入别人的web项目的时候,没有设置项目的编码。项目没设置utf-8编码会导致中文乱码。





2.确保数据库编码为utf8,以mysql为例,可到mysql目录下,my.ini文件中修改后,重启mysql服务


重启mysql服务方法:





3.数据库建库时,确认编码为utf-8,以使用Navicat为例



4.在jsp页面乱码问题

可以在 jsp的顶端加入;

<%@ page language=”java” import=”java.util.*” pageEncoding=”UTF-8%>

Head中加入

<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8”>

form表单的提交方式设为 “Post”


5.如果使用的是spring,可以在项目的web.xml中加入:

<filter>  
        <filter-name>characterEncodingFilter</filter-name>  
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
        <init-param>  
            <param-name>encoding</param-name>  
            <param-value>UTF-8</param-value>  
        </init-param>  
        <init-param>  
            <param-name>forceEncoding</param-name>  
            <param-value>true</param-value>  
        </init-param>  
 </filter>  
 <filter-mapping>  
        <filter-name>characterEncodingFilter</filter-name>  
        <url-pattern>/*</url-pattern>  
 </filter-mapping>

6.在java代码的controller层或者是form表单提交的action中,设置:

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

7.tomcat设置

打开tomcat安装路径下的conf-server.xml 文件:

<Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI="true"/>

以上7种基本上是用来解决jsp页面表单提交,controller接收乱码,数据库乱码等问题,一般4,5,6方法最常用也是关系最大的。
比如我有写form表单,提交数据到数据库的时候,打开数据库发现中文乱码,设置什么utf-8之类的都是设置了的。
于是采用第5种方式,加入字符过滤器。
如图:
这里写图片描述

web.xml中:
这里写图片描述
效果:
这里写图片描述


You got a dream, you gotta protect it.
如果你有梦想的话,就要去捍卫它 。 ——《当幸福来敲门》

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江湖一点雨

原创不易,鼓励鼓励~~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值