关于MYSQL取出数据乱码的问题
本帖最后由 u011687117 于 2013-12-03 11:46:11 编辑 我之前发过一个贴子,关于MYSQL乱码的问题:
http://bbs.csdn.net/topics/390655701
查了许多资料之后,找到了根本原因:
http://bugs.mysql.com/bug.php?id=64071
根据上面资料中所说,因为有5个字符在java的Cp1252字符集中是没有定义的。但在latin1和iso8859-1中有定义,所以转换之后就出现了乱码。
但是无法解决。比如:
String str = "消息";
byte b[] = str.getBytes();
String new_str = new String(b,"Cp1252");
String s = new String(new_str.getBytes("Cp1252"));
//正常的“消息”getBytes&tohex之后是:
ffffffe4,ffffffbf,ffffffa1,ffffffe6,ffffff81,ffffffaf
//但是经过上面的操作之后,getBytes&tohex则变成了:
ffffffe4,ffffffbf,ffffffa1,ffffffe6, 3f ,ffffffaf