Oracle打开文件中文乱码问题

该文件由Oracle生成,而且查询数据库字符集,显示的也是AL32UTF8,但用Oracle打开文件后,中文会乱码:

img

但文本直接复制粘贴到数据库就可以正常显示。

想请教一下,这种情况是否有相应的代码可以解决呢?或者对数据库进行设置可以解决呢?

目前所使用的生成文件代码如下:

img

img

img

求解答,多谢多谢!

如果 Oracle 数据库的字符集是 AL32UTF8,并且直接复制粘贴到数据库能正常显示,那么文件的字符集问题可能是产生乱码的原因。

解决方案如下:

1.修改文件的字符集:把文件的字符集转换为 AL32UTF8,并以该字符集的格式重新生成文件。

2.在读取文件时设置字符集:使用特定的字符集读取文件,并在读取过程中进行字符集转换。

在 Java 代码中,可以使用 InputStreamReader 和 OutputStreamWriter 类来指定字符集。

举个例子:

FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader br = new BufferedReader(isr);

FileOutputStream fos = new FileOutputStream(file);
OutputStreamWriter osw = new OutputStreamWriter(fos, "AL32UTF8");
BufferedWriter bw = new BufferedWriter(osw);