我有一个 xml 文件,它从 CLOB 类型的 oracle 表中获取其数据。我使用 Unicode Stream 写入 Clob 值
Writer value = clob.setCharacterStream(0L);
value.write(StrValue));
当我编写像中文这样的非 ascii 字符,然后使用 PL/SQL 开发人员访问 clob 属性时,我看到字符按原样显示。但是,当我将值放入以 UTF-8 编码的 xml 文件中并尝试通过 IE 打开 xml 文件时,我收到错误消息
“在文本内容中发现无效字符。错误处理资源...”。
另一个有趣的事情是,当我使用 ascii 流写入 CLOB 时,例如:
OutputStream value = clob.getAsciiOutputStream();
value.write(strValue.getBytes("UTF-8"));
然后,字符在浏览器上的 XML 中正确显示,但在使用 PL/SQL 开发人员访问时,在 DB 中却很混乱。
将 unicode 字符转换为 UTF-8 是否有任何问题。请问有什么建议吗?