怎么样处理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; }}