首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

jsp从数据库调出中文乱码解决办法

2012-02-12 
jsp从数据库调出中文乱码数据库编码是utf-8jsp页面也是utf-8数据库加载后面也添加编码也不好使好像我数据

jsp从数据库调出中文乱码
数据库编码是utf-8
jsp页面也是utf-8
数据库加载后面也添加编码也不好使
好像我数据库改完编码好像重启就不好使了呢
我控制台输出下 是乱码、

HTML code
<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>    <%@ page import="java.util.*"%>    <%@ page import="mySql.Sqlconnection" %>    <%@ page import="action.ListAction" %>    <%@ page import="user.UserManager" %>    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><% Sqlconnection conn=new Sqlconnection();     List<UserManager> cag;     cag=conn.list(); %><!-- 循环遍员工姓名等 --></body></html>




数据库连接的查看方法
Java code
public List<UserManager> list(){        Connection conn =this.getConnection();//使用当前连接数据库方法        List<UserManager> cag=new ArrayList<UserManager>();//UserManager为一个成员属性类getter setter        try {            PreparedStatement ps = conn.prepareStatement("select * from staff");            ResultSet rs =ps.executeQuery();                        while(rs.next()){                UserManager u=new UserManager();                u.setStaff_ID(rs.getString("staff_ID"));                u.setStaff_Name(rs.getString("staff_Name"));                u.setStaff_Birth(rs.getString("staff_Birth"));                u.setStaff_IDcard(rs.getString("staff_IDcard"));                u.setStaff_CallNumb(rs.getString("staff_CallNumb"));                cag.add(u);                System.out.println(u.getStaff_Name());//这个输出就是乱码            }        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }                close(null, null, conn);                            return cag;    }


mysql5.0.0+tomacat 6+eclipse 
mysql我之前改了很多次总是变回来、my.ini我没那文件、自己配个也不知道读取没


set names "utf8"; //设置编码

show variables like "%char%"; //一重启又回来了


  | character_set_client | Latin1|

  | character_set_connection | Latin1|

  | character_set_database | Latin1|

  | character_set_results | Latin1|

  | character_set_server | Latin1|

  | character_set_system | utf8 |

  | character_sets_dir | /usr/share/mysql/charsets/ |



问题:我用jsp显示数据库的名字属性是乱码 数据库调出显示后台就已经是乱码了、struts2的、如何解决、
  附问:个比较白痴的、就是有时候项目已经运行好的、之后在启动会报错  
是什么问题呢

[解决办法]
response.setContentType("GBK");
[解决办法]
写个过滤器,配置在web.xml中,对处理字符进行编码

热点排行