日期:2014-05-16  浏览次数:20768 次

Mysql汉字乱码问题

1.在安装Mysql时其实可能选择使用GBK来处理汉字,由于以前没使用,所以就按默认的英语处理。不过,也可以C:\Program Files\MySQL\MySQL Server 4.1安装路径下的my文件[mysql] 下default-character-set=gbk改成gbk 然后重起一下. 

2.用命建数据库和表时在最后都加上default charset=gbk; 

如:create database xx default charset=gbk; 

CREATE TABLE tt ( 
... 
) default charset=gbk; 

3.在连接语句中加入: 

mysqlUrl = "jdbc:mysql://localhost:3306/ebook?useUnicode=true&characterEncoding=gb2312"; 


4.应注意在jsp页面中中入:<%@ page language="java" contentType="text/html; charset=GB2312" pageEncoding="GB2312"%> 

5.在jsp中获得字段时,在往后如数据库表中插入记录时应注意将sql处理。如下: 

String sql = "xx"; 

System.out.println(sql);  //显示没有处理sql 

sql = new String(sql.getBytes("ISO8859-1"), "GB2312");  //用于将汉字处理,不然的话你会发现数据库表中存的不是汉字 

System.out.println(sql); 

int i = stmt.executeUpdate(sql); // 执行sql语句: 

6.网上有人说JDBC驱动也有可能出现汉字乱码,最好使用较高版本的Mysql驱动 
?