使用mvc框架访问jsp页面的乱码问题

在使用mvc框架的时候先连接数据库,然后访问jsp页面,在进行用户名以及密码验证的
时候,英文可以正确通过,而中文则不行,会出现乱码问题。我在web.xml文件里面设置
了filter的编码为UTF-8。也在applicationContext.xml里面连接数据库的时候设置了编码
为UTF-8。
数据库里面的编码也是相同的,为什么还会报这样的错误。求各位大神帮帮忙,我新手来的。(为什么我换台电脑不改代码又可以实现了。这是为什么?)
(为什么我在数据库中新插入一行数据,用户名是中文,密码是数字,又不行了。)

8个回答

你说的乱码是存入到数据库的数据是乱码吗?如果是的话,说明你创建的数据库编码跟你存储的编码UTF-8不一致。
建议重新建一个数据库设置编码为utf-8的再试试。祝好!

貌似你这个本地是没有问题的,至少在存入数据库之前没有问题,那么就只有可能是数据库编码的问题咯。建议你在数据库中调试一下,看看结果是否与用代码得到的结果相一致,这样就能发现问题的所在了

那应该就是数据库编码没设置成UTF-8

用户名密码你是用表单传输的,在读取表单内容 比如request.getParameter("name"),这句话前面加一段代码:request.setCharacterEncoding("UTF-8"); 设置编码

看一下你数据库的编码格式

数据库连接没设置,在数据库连接url后面加?characterEncoding=utf8

先感谢各位大神帮忙,我在说下我的问题吧,我不是用requset请求接受数据的,是直接使用web mvc发送请求数据,我的数据库在创建的时候
create database jsdwang default character set utf8;就已经设置了编码格式,出现乱码的问题之后我又在mysql语句show create table + 表名
在数据库中查询了编码格式,显示是UTF-8编码的格式。下面是我在Web.xml中设置请求表单的时候过滤设置,过滤设置成UTF-8编码

springmvc

org.springframework.web.servlet.DispatcherServlet


contextConfigLocation
classpath:applicationContext.xml

1


springmvc
*.do


encodingfilter

org.springframework.web.filter.CharacterEncodingFilter


encoding
utf-8


encodingfilter
*.do

在设置数据库连接的时候我也设置了编码是UTF-8
    <!-- 设置连接数据库 -->
<bean id="dbcp" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="username" value="root"></property>
    <property name="password" value="root"></property>
    <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
    <property name="url" value="jdbc:mysql:///jsdwang?useUnicode=true&amp;characterEncoding=utf8"></property>
</bean>

![图片说明](https://img-ask.csdn.net/upload/201509/30/1443545842_246033.png)
求各位大神再帮帮忙吧

建议使用commons-lang.jar这个包里面的方法,很强大的,不仅仅解决乱码问题哦

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问