我们的Oracle数据库有俄文字符, 我们使用shell脚本来下载带有俄语字符数据的文件,下载的文件编码是在Windows-2151中,为此我们使用了
导出NLS_LANG = RUSSIAN_CIS.CL8MSWIN1251
我们现在正在shell脚本中使用Java数据库连接( JDBC )Oracle调用接口(OCI)驱动程序下载文件,此处NLS_LANG未导出,因此文件为UTF-8格式。
我们如何在JDBC中导出NLS_LANG设置
答案 0 :(得分:0)
您应该打开一个Statement并执行:
ALTER SESSION SET NLS_LANG=RUSSIAN_CIS.CL8MSWIN1251
...刚刚获得JDBC连接后。
另一种方法是在启动JVM时设置正确的系统区域设置:
java -Duser.country=... -Duser.language=... -Dfile.encoding=...
答案 1 :(得分:0)
final Charset RU_ASCII = Charset.forName("GREEK_GREECE.AL32UTF8");
try (FileInputStream input = new FileInputStream(new File("yourfileName.txt"))) {
InputStreamReader a = new InputStreamReader(input, RU_ASCII);
您可以使用Charset阅读俄语文件。
GREEK_GREECE.AL32UTF8
是NLS_LANG
的字符集然后重新导出