我有一个SQL脚本,其中包含以下语句:insert into employee(fname,lname) values('Jörg','Müller');
我的数据库字符集设置为AL 32 UTF8,但是当我在SQLPlus中执行脚本时,德语字母Ö和Ü没有正确保存。我如何将SQLPlus的字符集设置为UTF-8?
是否可以在脚本文件中将SQL*Plus字符集设置为UTF-8(SQL脚本文件包含将字符集设置为UTF-8的命令)?
我的运行环境是窗口,但脚本也应该能够在unix上运行。我的oracle版本是19 c。
2条答案
按热度按时间eiee3dmh1#
SQL*Plus从
cmd
窗口继承字符集。您需要将编码设置为UTF-8并将其告知Oracle。这是通过NLS_LANG
参数完成的。试试这个:
当然,只有当你的sql文件也保存为UTF-8格式时,这才能起作用。否则,你需要从上面修改字符集。
请参见OdbcConnection返回中文字符“?”
jpfvwuh42#
您通常会使用环境变量NLS_LANG,例如在windows中这样设置它:集合NLS_LANG=美洲语言