精彩专题 |
如何做好项目沟通计划
软件项目质量管理
国际工程索赔与反索赔
|
更多:
|
|
联系社区管理员 |
咨询电话 010-82273401/11
斑竹申请 admin@mypm.net
版权所有 © 2003-2004
京ICP证070584号
BBS业务许可2007第353号
最佳显示模式:1024*768像素
|
|
 |
怎么解决JDBC读ORACLE的乱码问题 [发表于 2006/9/20] 状态 开放帖 精华贴 浏览量 1383 |
|
ORACLE的字符集为US7ASCII,用ORACLE JDBC读的时候会有乱码,请问如何解决? 我知道可以用转码方式来解决new String(rs.getString("name").getBytes("ISO8859-1"),"GBK"); 但比较烦,有没有其他的更好的方式来解决这个问题?不需转码? 数据库ORACLE的字符集不能转换,上面还有其他的应用。
|
-------------------------------------------------------------------------------------------------------- 我就是我 >>> 由论坛统一发布的广告:
|
|
楼主
zfm12

职务 无
军衔 上校
来自 北京市
发帖 485篇
注册 2006/4/5
PM币 8651
经验
|
|
Re:怎么解决JDBC读ORACLE的乱码问题
[回复于 2006/9/20]
|
不知道除了操作Oracle还有没有其他的操作应用会影响编码, 给两个方案你参考 1. 将编译/运行的编码设置成与Oracle一样的编码. 编译.java文件 javac -encoding ISO8859-1 ... 运行 java -Dfile.encoding=ISO8859-1 注意: 如果你的应用设计到JSP/文件I/O, 相应的要使用ISO8859-1, 如果大量这样的I/O, 这样的方法不好用. 2. 使用自己写的JDBC包装器代替Oracle的ResultSet/Statement... 原理是在包装器内部实现编码转换, 而应用就不需要每个字段转一次了. 注意: 需要包装的东西包括Connection, Statement, CallableStatment, PreparedStatement, ResultSet 如果用到JDBC2.0, 还要包装DataSource. 包装比较简单, 但向下兼容差, 如Jdk1.3 包装后, jdk1.4还要重新包装一次, 比较繁琐.
|
-------------------------------------------------------------------------------------------------------- PMP认证,项目经理最佳选择!
|
|
1楼
domo

职务 无
军衔 上尉
来自 北京市
发帖 363篇
注册 2005/1/7
PM币 4082
经验
|
|
Re:怎么解决JDBC读ORACLE的乱码问题
[回复于 2006/9/20]
|
不知道你做什么应用, 按理说方法一应该可以, 偶都用了好多年了. 由于平台关系, 直接System.out.println测试不出东西来的, 需要用文件I/O看看
|
|
|
2楼
杜娟

职务 无
军衔 上将
来自 河北省
发帖 1129篇
注册 2006/4/30
PM币 16060
经验
|
|
Re:怎么解决JDBC读ORACLE的乱码问题
[回复于 2006/9/20]
|
同意楼上domo的意见 2. 使用自己写的JDBC包装器代替Oracle的ResultSet/Statement... 如果只是个别业务有需要,也可以在取得数据的业务类进行接口定义,需要"ISO8859-1"时,可以进行转换。
|
|
|
3楼
yuanyipin

职务 无
军衔 三等兵
来自 辽宁
发帖 6篇
注册 2006/9/20
PM币 50
经验
|
|
|
4楼
dorothy

职务 无
军衔 少校
来自 上海
发帖 993篇
注册 2004/9/6
PM币 4069
经验
|
|
|