gpt4 book ai didi

Java + ResultSet.getObject()

转载 作者:数据小太阳 更新时间:2023-10-29 01:59:25 29 4
gpt4 key购买 nike

我们的产品有两个相同的设置。一种设置工作正常,但另一种设置遇到以下问题。

我们正在对数据库发起查询,查询如下:

String query = select col1_name, col2_name, col3_name from table_1;
PreparedStatement l_statement = null;
Connection con = "<connection-string>";
l_statement = con.prepareStatement(query);
Resultset l_rs = l_statement.executeQuery();

现在 col1("column1") 数据类型是 "SYS.XMLTYPE"获取列数据的代码是:

Object obj = null;
obj = l_rs.getObject(1);
String xmlStr = null;
if(obj instanceof XMLTYPE){
...
} lse if (obj instanceof XMLTYPE){
...
} else if (obj instanceof java.sql.SQLXML){
xmlStr = ((SQLXML)obj).getString ();
}

程序的控制权在最后一个else if,即

xmlStr = ((SQLXML)obj).getString ();

现在当我们检查 xmlStr 的值时,它包含如下垃圾字符:

Ÿcž(too many junk characters.)

在一个设置上,这段代码工作正常,而在另一个设置上,xml 字符串给出垃圾字符,可能是什么原因?

最佳答案

您可能必须指定您期望的字符串编码。默认情况下,Windows 和 Linux 具有不同的默认编码,因此当您在一个平台上编码并在另一个平台上解码时,它们可能不兼容。理想情况下,应确定编码,以便使用的编码在两个平台之间保持一致。

关于Java + ResultSet.getObject(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18444762/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com