gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 14:34:19 25 4
gpt4 key购买 nike

我们有一个表,将 XML 存储为 CLOB (Oracle 10g)。

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

e.g `FDEAÂ’s`

当我使用 SQLDeveloper 查询此记录并将 XML 以 UTF8 编码保存在记事本中时,会出现特殊字符。

但是当我尝试通过 JDBC 查询相同内容时,我得到的是?或者这些字符为空白。

我尝试了下面链接中提到的多个选项(使用字符集等),但找不到解决方案。

还在 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 足够智能,可以显示各种特殊字符,但是像记事本/textpad/notepad++ 这样的工具需要正确的设置才能开始显示特殊字符。

5) 检查类路径中是否需要 orai18.jar。需要此 jar 来支持与 CLOB 和 oracle 类型等相关的支持。

关于java - Oracle 10g Clob 列中的特殊字符(UTF8 字符)返回为 ?或在 Java 中为空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16607166/

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