gpt4 book ai didi

java - 从 BLOB 数据类型转义特殊字符

转载 作者:行者123 更新时间:2023-11-29 08:55:04 25 4
gpt4 key购买 nike

我正在从 Oracle 数据库中读取 BLOB 数据类型表。但是特殊字符正在逃避。下面是我的代码。

public static void main(String args[]) throws FileNotFoundException

{

System.out.println("Oracle Connect START.");
Connection conn = null;

String url = "jdbc:oracle:thin:@localhost:1521:";
String dbName = "xe";
String driver = "oracle.jdbc.OracleDriver";
String userName = "T24DBA";
String password = "ABCD123abcd";
int locationofp=0;
ResultSet orset = null;
ResultSet rs1 = null;
try {
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url+dbName,userName,password);
Statement stmt = conn.createStatement();
orset =stmt.executeQuery("select RECID, XMLRECORD from karthi");

Blob lob = null;
FileOutputStream fos = new FileOutputStream("C:/DataRead/fbnk.txt");
DataOutputStream dos = new DataOutputStream(fos);

while (orset.next()) {
String RECID = orset.getString(1);


lob=orset.getBlob("XMLRECORD");
byte[] bdata = lob.getBytes(1, (int) lob.length());
String text = new String(bdata);
System.out.println("TEXT "+ text);
}
}

数据库中的记录是

EUR100011510þGBP100011200þGBP100011250þGBP100011500þGB

但是我得到的输出是

EUR100011510�GBP100011200�GBP100011250�GBP100011500�GB

我所有的字段标记字符 (þ) 都在转义。

任何帮助将不胜感激。这两天一直在纠结这个问题

谢谢

最佳答案

确保存储到数据库中的数据采用 UTF-8 格式。同时创建一个指定编码的新字符串:

String text = new String(bdata, "UTF-8");
System.out.println("TEXT "+ text);

关于java - 从 BLOB 数据类型转义特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20696367/

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