oracle字符集是US7的,java查询出的中文是乱码,用new String(rs.getString("name").getBytes("iso8859-1"), "GBK");无法转换,显示的还是乱码??????这个怎么回事啊????
哥们写错了吧
String(rs.getString("name").getBytes("iso8859-1"), "GBK");
是iso-8859-1
new String(rs.getString("name").getBytes("iso-8859-1"),"GBK")
首先你要清楚乱码的原因,就是存储和读取的编码不一致导致的。
你存储的编码是US7,读的时候用GBL,肯定会乱码
我觉得US7的编码本身就不支持中文,是否应该修改oracle数据库的配置呢
客户端字符集不一定是要和服务器端字符集一致。Oracle的客户端会自动转换。但是这种转换必须是可行的。例如服务器端是UTF8,客户端是ZHS16GBK就可以,因为UTF8能够描述的字符集是ZHS16GBK的全集。反过来,如果服务器端是US7ASCII客户端是ZHS16GBK就不可以