转换就ok了。 从数据库里取出来的数据转换成GBK了。 没办法的。
我也遇到过。
我也遇到过。
解决方案 »
- jdbcodbcdriver.class这什么玩意。。。高手指点
- 请问下SSH框架开发的系统,报表打印的东西比较多,什么控件比较合适?
- 关于struts:在tiles中使用servlet
- 请教大家使用servlet更新完数据后如何进行JSP页面跳转呀?
- 关于使用logic:equal标签的问题?
- 为什么我把<tr><td>.....</td></tr>的内容放到,if(....)的{}中就提示“java.sql.SQLException:[Microsoft][SQLServer 2000 Driver for J
- 在jsp页面中如何实现播放MP3音乐文件.
- 谁能提供个比较好的新闻或办公自动化的源程序(100分相送)
- 大家来谈谈web网站的安装问题
- 请教:如何把png格式的图象转化成jpeg/gif图。送分!
- 有关一个ASP注册的问题?提示就有分!(吐血求教)
- 怎样运用apache的log4j类写日志的文件呢? 能举例说明吗?
感觉很别扭。并不能new String("".getBytes("GBK"),gb2312)这种方式来转换
前者如果人家用数据库客户端工具查出来,还以为CDA4就是数据本身。
然后再转成GBK吧……
<1> oracle字符集用的gb2312
<2> 测试的汉字包含在GBK中但不在gb2312中。
我贴上一段代码如下,方便大家讨论,以下代码是不成的
------------------------------------------------
String ss = "蔄";
System.out.println("ss>"+ss);
stmp = conn.prepareStatement
("INSERT INTO TEST ( ID, NAME,ADDR2) VALUES(2,'2',?)");
stmp.setString(1,new String(ss.getBytes("GBK"),"UTF-8"));
//stmp.setString(1,ss); 不转会有问题
stmp.execute();
String sql = "select addr2 from test order by id desc";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
String s3 = rs.getString(1);
System.out.println(".."+new String(s3.getBytes("UTF-8"),"GBK"));
}
然后插入 "蔄"这个GBK的字,查询显示竟然正确。说明oracle没有对
此进行转换。
JAVA中编译然后运行应该是会转来转去的,可有解决方案呢?大家再
继续讨论呀