打印从数据库中读取的中文字段乱码问题

使用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吗?

1个回答

你是在eclipse中运行的么?
是的话请设置
eclipse中run -- run configurations -- common -- console encoding
这个设置决定了你eclpise中控制台字符显示

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问