问题描述
使用JDBC访问某个DB2数据库,该数据库的字符集设置为819(就是ISO-8859-1),直接在Java程序打印某个中文字段显示为乱码,必须使用System.out.println(new String(str.getbytes("ISO-8859-1"), System.getProperty("file.encoding")))才能正常显示(str为从数据库读取的中文字段)。但每次都这么写感觉有点繁琐,是否有直接打印str就显示正常的办法?我原本试图通过System.setProperty("file.encoding", "ISO-8859-1")来实现,但结果依然是乱码。请问这是为什么?有什么办法可以实现直接打印str吗? 问题补充:谢谢答复。但我在Eclipse中run -- run configurations -- common -- console encoding设置为ISO-8859-1,结果还是乱码。
解决方案
你是在eclipse中运行的么?是的话请设置eclipse中run -- run configurations -- common -- console encoding这个设置决定了你eclpise中控制台字符显示
时间: 2024-09-20 01:01:53