jsp从数据库调出中文乱码解决办法
jsp从数据库调出中文乱码
数据库编码是utf-8
jsp页面也是utf-8
数据库加载后面也添加编码也不好使
好像我数据库改完编码好像重启就不好使了呢
我控制台输出下 是乱码、
数据库连接的查看方法
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中,对处理字符进行编码
数据库编码是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中,对处理字符进行编码