重音字母和sql plus / AIX

时间:2015-06-17 13:11:32

标签: oracle plsql character-encoding sqlplus

我有一个在sql developer(encoding = UTF8)中修改的plsql脚本。我使用Filezilla(transfert binary)将我的脚本放在服务器上。在服务器上,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 -

在线轴内。

2 个答案:

答案 0 :(得分:0)

尝试将NLS_LANG设置为AMERICAN_AMERICA.US8PC437。

在这里看到我的回答类似的问题:

when-insert-persian-character-in-oracle-db-i-see-the-question-mark

答案 1 :(得分:0)

首先,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

如果/当每个角色都在ksh / bash / mc / etc中工作时,您可以尝试使用Oracle:将NLS_LANG设置为 american_america.WE8ISO8859P1 american_america.AL32UTF8 (与LC_CTYPE和翻译同步)

PS:我认为你应该在启动任何Oracle程序之前设置NLS_LANG,ALTER SESSION不会改变字符集。