java 读取数据库中文信息,为何在jsp页面中出现乱码

网站中注册成功能将中文的用户名存入数据库,登录时输入中文用户名,页面的某个地方有欢迎信息,如“欢迎某某”,某某即为你注册的用户名,这时为何显示不出注册的用户名,出现乱码是... 网站中注册成功能将中文的用户名存入数据库,登录时输入中文用户名,页面的某个地方有欢迎信息,如“欢迎某某”,某某即为你注册的用户名,这时为何显示不出注册的用户名,出现乱码是什么原因
写了一个过滤器,配置了页面的编码格式,在web.xml中也注册了这个过滤器。也就是显示每个页面前都先执行过滤器。
数据库中是正常的中文显示,每个页面的编码也是gb2312,不知道问题出在哪里。
展开
 我来答
青鸟中关村专家
推荐于2018-05-04 · 知道合伙人软件行家
青鸟中关村专家
知道合伙人软件行家
采纳数:1734 获赞数:8440
就职于北大青鸟中关村,自2004年踏入北大青鸟这个行业,已经有11年工作经验和8年的培训经验,寓教于乐

向TA提问 私信TA
展开全部
有如下几种解决办法:

1、保证项目的字符编码和每一个jsp页面的字符编码一致,如果不一致可能导致中文乱码问题<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
2、编写Filter过滤器,在过滤器的过滤方法doFilter中写
request.setCharacterEncoding("UTF-8");

response.setContentType("text/html;charset=UTF-8");

在web.xml中配置如下信息,过滤全部请求
<filter>
<filter-name>characterFilter</filter-name>
<filter-class>自定义Filter类的全限定类名</filter-class>
</filter>
<filter-mapping>
<filter-name>characterFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3、在web.xml中加入jsp配置信息
<jsp-config>
<jsp-property-group>
<description> For config the web application </description>
<display-name>JSPConfiguration</display-name>
<url-pattern>*.jsp</url-pattern>
<el-ignored>false</el-ignored>
<page-encoding>UTF-8</page-encoding>
</jsp-property-group>
</jsp-config>
在jsp中
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
以上三种方式均可以实现,建议选择第二种方式,针对任意请求,jsp和servlet都可以解决中文问题
hjb368
2012-05-02 · 超过31用户采纳过TA的回答
知道答主
回答量:149
采纳率:0%
帮助的人:66万
展开全部
编码不统一,或者是jsp页面内没加这句话request.getCharacterEncoding("gbk");注意其他的编码也要改成gbk哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ZDP2018
2012-05-02 · 超过13用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:13.2万
展开全部
在web.xml中加入
<jsp-config>
<jsp-property-group>
<description> For config the web application </description>
<display-name>JSPConfiguration</display-name>
<url-pattern>*.jsp</url-pattern>
<el-ignored>false</el-ignored>
<page-encoding>UTF-8</page-encoding>
</jsp-property-group>
</jsp-config>
在jsp中
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2ad7ce0
2012-05-02
知道答主
回答量:9
采纳率:0%
帮助的人:1.4万
展开全部
uriencoding="utf-8"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
薄琛l3
2012-05-02 · TA获得超过366个赞
知道小有建树答主
回答量:154
采纳率:0%
帮助的人:132万
展开全部
字符编码问题 数据库里面是正常的中文显示吗?检查一下各页面的编码,接收数据的时候有没有做编码设置?
追问
数据库中是正常的中文显示。登录模块在首页,首页的其他文字都是中文,唯独注册的中文用户名显示为“???”。每个页面都设置了编码为gb2312。过滤器的编码也是gb2312.不知道哪里有问题。
追答
注册页面设置
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式