试图绕过 Java 中的 Jboss Hibernate 问题,您无法处理来自存储过程的 Nvarchar SQL Server 数据类型。由于我们存储多字节字符,我无法将数据类型转换或转换为 varchar,因此,数据类型是必须的。但是,我能够在存储过程中将类型转换为 varbinary 并在 Java 中解码
SQL Server 过程:
Convert(varbinary, Tile) AS Title
在 Java 端,我读取了结果集和字段,现在编码为
更新为实际编码:
0x440065007300690067006E0020002600200050006C0061006E006E006900
我尝试将此字节数组解析为字符串,如下所示:
byte[] bytes = (byte[]) dataField[0];
try {
String varbinaryString = new String(bytes, "UTF-8");
System.out.println(varbinaryString);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
结果几乎是来自 Title 字段的预期解码字符串,只是,它以这种方式解码:
D e s i g n & P l a n n i
而不是直接输出
Design & Planning Director
任何人都可以帮助我解决 Java 解码 SQL Server varbinary 数据类型的困境吗?
提前感谢您的帮助或提示。