怎么样处理java下mysql中文乱码问题?
项目中碰到的乱码问题,希望对同样碰到此问题的朋友有些帮助。至少我认为是最简便的方法。
原理:mysql默认的字符集是latin1,java中对应的就是ISO-8859-1字符集,所以存入数据时转换为ISO-8859-1,取出时再由ISO-8859-1转换为GBK就OK了。
import java.io.UnsupportedEncodingException;
//解决中文问题
public class EncodingUtil {
//从数据库取出用
public static String latin1ToGBK(String str)
{
try {
String temp_p = str;
byte[] temp_t = temp_p.getBytes("ISO-8859-1");
String temp = new String(temp_t,"GBK");
return temp;
}catch (UnsupportedEncodingException ex) {
System.out.println(ex);
return "";
}
}
//存入中文数据时用
public static String GBKToLatin1(String str)
{
if(str==null)
{
str="";
}
else{
try{
str=new String(str.getBytes("GBK"),"ISO-8859-1");
}
catch(Exception ex){
ex.printStackTrace();
}
}
return str;
}
}
本文地址:http://www.45fan.com/a/question/71870.html