重音字母和 sql plus/AIX
accented letters and sql plus/AIX
我有一个 plsql 脚本,我在 sql 开发人员中修改了它(编码 = UTF8)。我使用 Filezilla(transfert 二进制文件)将我的脚本放在服务器上。在服务器上,NLS_LANG 是 AMERICAN_FRANCE.WE8ISO8859P1。
在我的脚本中我添加了:
ALTER SESSION SET NLS_LANG=FRENCH_FRANCE.UTF8;
我在 sql plus 会话中启动脚本:字符显示不正确。
我怎样才能让它发挥作用?
谢谢
在启动 sql 文件的 putty 会话中,我这样写:
$ORACLE_HOME/bin/sqlplus id/psw@$ORACLE_SID @$P_SQL/myfile.sql
在文件中,显示是这样的例如:
center 'à è é ê ô à ë î ï ù' skip 1 -
在线轴内。
尝试将 NLS_LANG 设置为 AMERICAN_AMERICA.US8PC437.
在这里查看我对类似问题的回答:
when-insert-persian-character-in-oracle-db-i-see-the-question-mark
首先,putty的设置Windos/Translation/Remote_character_set和环境变量LC_CTYPE要匹配,例如:ISO-8859-1 和 fr_FR.ISO8859-1;或 UTF-8 和 fr_FR.UTF-8
注意:LC_CTYPE可以远程设置(putty:Connection/Data/Environment_variables),如果/etc/ssh/sshd_config允许if(AcceptEnv)
此外,如果您的 AIX 支持选定的字符集,也没有什么坏处,请使用 locale -a
查看
If/when 每个字符都在 ksh/bash/mc/etc 中工作然后你可以尝试使用 Oracle 进行试验:将 NLS_LANG 设置为 american_america.WE8ISO8859P1 或 american_america.AL32UTF8(与 LC_CTYPE 和翻译同步)
PS:我认为您应该在启动任何 Oracle 程序之前设置 NLS_LANG,ALTER SESSION 不会更改字符集。
我有一个 plsql 脚本,我在 sql 开发人员中修改了它(编码 = UTF8)。我使用 Filezilla(transfert 二进制文件)将我的脚本放在服务器上。在服务器上,NLS_LANG 是 AMERICAN_FRANCE.WE8ISO8859P1。
在我的脚本中我添加了:
ALTER SESSION SET NLS_LANG=FRENCH_FRANCE.UTF8;
我在 sql plus 会话中启动脚本:字符显示不正确。
我怎样才能让它发挥作用?
谢谢
在启动 sql 文件的 putty 会话中,我这样写:
$ORACLE_HOME/bin/sqlplus id/psw@$ORACLE_SID @$P_SQL/myfile.sql
在文件中,显示是这样的例如:
center 'à è é ê ô à ë î ï ù' skip 1 -
在线轴内。
尝试将 NLS_LANG 设置为 AMERICAN_AMERICA.US8PC437.
在这里查看我对类似问题的回答:
when-insert-persian-character-in-oracle-db-i-see-the-question-mark
首先,putty的设置Windos/Translation/Remote_character_set和环境变量LC_CTYPE要匹配,例如:ISO-8859-1 和 fr_FR.ISO8859-1;或 UTF-8 和 fr_FR.UTF-8
注意:LC_CTYPE可以远程设置(putty:Connection/Data/Environment_variables),如果/etc/ssh/sshd_config允许if(AcceptEnv)
此外,如果您的 AIX 支持选定的字符集,也没有什么坏处,请使用 locale -a
查看If/when 每个字符都在 ksh/bash/mc/etc 中工作然后你可以尝试使用 Oracle 进行试验:将 NLS_LANG 设置为 american_america.WE8ISO8859P1 或 american_america.AL32UTF8(与 LC_CTYPE 和翻译同步)
PS:我认为您应该在启动任何 Oracle 程序之前设置 NLS_LANG,ALTER SESSION 不会更改字符集。