如何使用sqlplus主机回声正确编码非7位ASCII字符

时间:2016-02-22 15:26:19

标签: oracle unicode encoding sqlplus

enter image description here我的一些脚本我只是回复一些信息来记录程序。 不幸的是,虽然NLS_LANG = AMERICAN_AMERICA.UTF8我只能用ASCII 7位显示输出。

sqlplus /nolog
host echo %NLS_LANG%
host echo "an OK test with ASCII 7 bit characters"
host echo "a KO test with accentuated characters : àéùôù"

编辑:这是unicode文件(UTF-8)的问题

1 个答案:

答案 0 :(得分:3)

您必须设置cmd窗口的代码页,因为SQL * Plus会继承它。

在启动sqlplus之前运行chcp 65001

但是,在命令行窗口上存在UTF-8问题,如果行中的第一个字符是ASCII(代码),请参阅how to use sqlplus with utf8 on windows command line仅用于字符[...] < 128,例如空白)

也许Codepage 1252也能满足您的需求:

chcp 1252
set NLS_LANG=.WE8MSWIN1252
sqlplus ...