jsp到mysql中文乱码

hibernate和struts2写的程序1.从mysql命令行输入中文,不乱码2.从jsp页面读取数据库,不乱码3.从jsp页面向数据库添加数据,乱码????????m... hibernate和struts2写的程序
1.从mysql命令行输入中文,不乱码
2.从jsp页面读取数据库,不乱码
3.从jsp页面向数据库添加数据,乱码????????

mysql和jsp页面的编码方式都是gbk

基于以上问题,求解
展开
 我来答
thinkpadqun
推荐于2016-04-11 · 超过22用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:65.4万
展开全部
看你的样子,需要做三点
1.像一楼一样连接数据库时设置编码
2.虽然你的jsp页面设置了gbk,但是浏览器没有设置,需要设置浏览器编码方式,注意浏览器的编码方式设置成utf-8,因为浏览器没有gbk格式
<%@ page contentType="text/html; charset=utf-8"%>
3.设置一个过滤器
package org.jb.common.filter;

import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;
import javax.servlet.FilterChain;
import java.io.IOException;

public class SetCharacterEncodingFilter implements Filter {

protected FilterConfig filterConfig;
protected String encodingName;
protected boolean enable;

public SetCharacterEncodingFilter() {
this.encodingName = "GBK";
this.enable = false;
}

public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
}

public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain)
throws IOException, ServletException {
request.setCharacterEncoding("GBK");
chain.doFilter(request, response);
}

public void destroy() {
}
}
web.xml配置加
<filter>
<filter-name>encodefilter</filter-name>
<filter-class>org.jb.common.filter.SetCharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>encodefilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
OK,成功,所以说对于乱码问题要从头到尾都编码一致,包括数据库,连接数据库,jsp页面,浏览器,浏览器-jsp-antion之间传值时的编码即过滤器
zhanghengxye
2012-05-04 · TA获得超过326个赞
知道小有建树答主
回答量:1172
采纳率:100%
帮助的人:465万
展开全部
String cjdw = new String(req.getParameter("cjdw").getBytes("ISO8859_1")); 这么写,接收参数就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Lin3li
2012-05-04 · 超过22用户采纳过TA的回答
知道答主
回答量:105
采纳率:0%
帮助的人:40.3万
展开全部
你在安装mysql的时候有一步是指定mysql的字符集,你选中gb2312或者utf-8即可。。。
呵呵。。。希望对你有用。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Damonc
2012-05-04 · 超过22用户采纳过TA的回答
知道答主
回答量:197
采纳率:0%
帮助的人:104万
展开全部
你最好是用UTF-8 这个比较权威 在你后台类里获取的时候 转码 就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
桃子呀AX
2012-05-04 · TA获得超过197个赞
知道小有建树答主
回答量:447
采纳率:0%
帮助的人:291万
展开全部
添加数据时乱码,那看看你执行的sql语句是不是就已经是乱码了呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式