首先查看Oracle数据库编码
SELECT value$ FROM sys.props$ WHERE name = 'NLS_CHARACTERSET' ;
得到
解决思路:
取数据:先将从数据库取出来的数据根据编码"iso-8859-1"转换成bytes数组,接着将bytes数组按照"GBK"编码转换String字符串
new String(value().toString().getBytes(Charset.forName(ISO)), Charset.forName(GBK))
存数据:将要存进数据库的数据根据编码"GBK"转换成bytes数组,接着将bytes数组按照"iso-8859-1"编码转换String字符串存进数据库