//乱码解决方案:因为在MYSQL安装时,数据库的编码大部分选择UTF-8为MYSQL的默认编码
/**
* 问题:(1).Hibernate在从MYSql库中取出来的中文字段内容为乱码。形如 person.name=????
* (2).在Eclipse中用DB Browser连接MYSQL数据库,直接用DB Browser自带的查询
* 语句 select pid,name,age,sex from test.person 看到的结果也是乱码
* (3).但用MYSQL自带的MySQL Command Line Client连到数据库查看表中内容一切正常
* 解决方案:在Java中,将从数据库中取出来字段内容是中文的字段一个一个的编码,再输出。
* 乱码问题就解决了。
* //另外:charsetEncoding最好设置成UTF-8,因为它兼容所有编码.
* 解决办法:1.在项目中写一个公用的编码类Coding
* 2.在Coding类中写一个公用的静态编码方法:toGBK(String str);
*
*/
public class Coding {
//公用编码方法toGBK
//将是乱码的字段传进来,进行编码
public static String toGBK(String table_field){
String goodStr=null;
try {
//MySql中的中文乱码一般是"ISO-8859-1",我们将它转换成"GB2312"输出即可。
//也有不是"ISO-8859-1"编码的,将其换成相应编码即可。
goodStr=new String(table_field.getBytes("ISO-8859-1"),"GB2312");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return goodStr;
}
}