我有一个包含以下语句的 SQL 脚本:
插入员工(fname,lname)值('Jörg','Müller');
我的数据库字符集设置为 AL32UTF8,但是当我在 SQLPlus 中执行脚本时,德语字母 Ö 和 Ü 未正确保存。如何将SQLPlus的字符集设置为UTF-8?
是否可以在我的脚本文件中将 SQL*Plus 字符集设置为 UTF-8(sql 脚本文件包含将字符集设置为 UTF-8 的命令)?
我的运行环境是Window,但脚本也应该能够在unix上运行。我的oracle版本是19c。
最佳答案
SQL*Plus 继承了 cmd
窗口的字符集。您需要将编码设置为 UTF-8 并告诉 Oracle。这是通过 NLS_LANG
参数完成的。
试试这个:
chcp 65001
set NLS_LANG=.AL32UTF8
sqlplus ....
当然,只有当您的 sql 文件也保存为 UTF-8 时,这才有效。否则,您需要从上面调整字符集。
关于oracle - 在 SQL*Plus 中将字符集设置为 UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72205389/