When I try to convert latin1 String to utf8 by Java,something wrong happen. as follows code:
byte[] latin2 = "¦ñ¨ãÓñ²½ìá".getBytes("ISO-8859-1");
byte[] latin1 = "¦á¨ãÓñ²½ìá".getBytes("ISO-8859-1");
byte[] utf8 = new String(latin1, "GB2312").getBytes("GB2312");
byte[] utf81 = new String(latin2, "GB2312").getBytes("GB2312");
System.out.println(new String(utf8,"GB2312"));
System.out.println(new String(utf81,"GB2312"));
The output is
?ㄣ玉步灬
?ㄣ玉步灬
So,I'm comfused about it,how can i convert latin1 to utf8 exact?
The DB field is:
`name` char(20) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,