JSP,数据库读出后乱码。

timego 2006-08-30 02:51:29
现在是这样的,提交页而用的是GB2312,数据库是mysql,用的是lant7(ISO8859-1)。写入时查看过数据库,没任何问题。同时在shell下查看过数据库中文显示也正常。
但读出的时候出显个怪问题。数据库连接我还是用8859_1,如果在JSP中设。
<%@ page contentType="text/html;charset=gb2312"%> 中文就显示乱码。但要是用
<%@ page contentType="text/html;charset=ISO8859-1"%>这时系统默认的编码是"西欧字符(ISO)",但我只要把编码在浏览器是换成GB2312时就显示中文。
谁能帮我解决一下。
...全文
139 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangj0571 2006-08-30
  • 打赏
  • 举报
回复
给你个filter吧,自己再web.xml部署一下
import java.io.IOException;
import javax.servlet.*;
//import javax.servlet.http.*;

public class SetCharacterEncoding implements Filter {
public void init(FilterConfig config){}

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

public void destroy(){}
}
timego 2006-08-30
  • 打赏
  • 举报
回复
楼上的请问一下怎么换转呢?我花了一晚上查了部分资料还是没成功,你能把个例子嘛?
String tt=new Srting(rs.getString("mail").getByet("GB2312"),"ISO8859-1");
zhangj0571 2006-08-30
  • 打赏
  • 举报
回复
有两个办法:1。修改mysql安装文件夹下面的my.ini ,修改 default-character-set=gb2312
2。自己加一个filter,对所有的请求进行编码转换
凋零的老树 2006-08-30
  • 打赏
  • 举报
回复
转换啊

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧