【发布时间】:2014-01-08 21:18:00
【问题描述】:
我正在从 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
我所有的字段标记字符(þ)都在转义。
任何帮助将不胜感激。过去两天我一直在为此苦苦挣扎
谢谢
【问题讨论】:
-
OP,这是java吗?我添加了 java 标签,但如果不是,我很抱歉。
标签: java oracle text blob special-characters