簡體   English   中英

Oracle 10g Clob列中的特殊字符(UTF8字符)返回為? 或在Java中為空白

[英]Special Characters (UTF8 character) in Oracle 10g Clob Column returning as ? or blank in Java

我們有一個表,將XML存儲為CLOB(Oracle 10g)。

這些XML通常包含一些特殊字符

e.g `FDEAÂ’s`

當我使用SQLDeveloper查詢此記錄並將XML作為UTF8編碼保存在記事本中時,會出現特殊字符。

但是,當我嘗試通過JDBC查詢相同內容時,我卻得到了一個? 或這些字符為空白。

我嘗試了下面鏈接中提到的多個選項(使用CharacterSet等),但找不到解決方案。

在Java 1.5和1.6上也進行了檢查,但是問題仍然存在。

我過去也遇到過同樣的問題。 這里有一些指針:

1)以編程方式設置nls_lang參數(如果尚未設置)。

Locale.setDefault(Locale.<your locale here>);

2)嘗試在環境變量中將編碼設置為UTF8(如果將結果輸出到文件中)

java -Dfile.encoding=UTF-8 … com.x.Main

3)正如您提到的從JDBC中“選擇”一樣,請檢查Eclipse設置。

Window--> Workspace --> Text File encoding --> Other --> UTF8

4)SQL-Developer非常聰明,可以顯示各種特殊字符,但是諸如notepad / textpad / notepad ++之類的工具需要適當的設置才能開始顯示特殊字符。

5)檢查類路徑中是否需要orai18.jar。 需要這個jar來支持與CLOB和oracle類型等有關的支持。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM