前几天,在运用mysql数据库时,遇到的问题老是:中文插入mysql还是从mysql中取出数据时总时常出现乱码的情况, 最后上网查资料。现在终于明白了:
中文插入数据库时:
String str="*******" ; //带插入的中文字符串
String temp=new String(str.getBytes(),"ISO-8859-1");
String sql="INSERT INTO TableName values(-----------)";
st.executeUpdate(sql);
从数据库中取出数据时:
String str=rs.getString(String paraName);
byte temp[]=str.getBytes("ISO-8859-1");
str=new String(temp);
out.prinltn(str);
注意:中文字符在插入mysql数据库前都进行了预编码处理,所以在进行模糊查询或其他查询时,若查询语句中含有中文字符时也必须将该中文字符进行编码预处理。例如:
String sqlstr=" SELECT * FROM TableName where name=' " + new String( "*******".getBytes(), "ISO-8859-1" ) + " ' " ;