我使用以下代码生成txt文件。代码工作正常,但某些字符存在问题。我正在使用Oracle。 无法显示é,á等字符。
set echo off
set verify off
set termout on
set heading off
set pages 50000
set feedback off
set newpage none
set linesize 1000
set serveroutput off
set pagesize 0
set trimout on
set trimspool on
spool Weekly_Members_Vendors.txt
select ''||Unique_ID||''||Name||''||Alt_Name||''|| Entity_Type||''||Party_Type||''||Reference_#||''||Addr1||''||Addr2||''||
Addr3||''||Town||''||County||''||Postcode||''||Country||''||ALT_ADDRESS1||''||ALT_ADDRESS2||''||
ALT_ADDRESS3||''||ALT_TOWN||''||ALT_COUNTY||''||ALT_POST_CODE||''||ALT_COUNTRY||''||NATIONALITY||''||
DOB||''||INDIVIDUAL_ID||''||INDIVIDUAL_ID_TYPE||''||COUNTRY_OF_REGISTRATION||''||COMPANY_ID||''||COMPANY_ID_TYPE||''||
SOURCE_COUNTRY||''||SOURCE_SYSTEM||''||TRANSACTION_TYPE
from dbo.Temp_Weekly_Export_File;
spool off;
exit
答案 0 :(得分:2)
我假设你在Windows上的SQL * Plus中运行它。
在这种情况下,请按chcp
通常它应该是CP437或CP850(取决于您是在欧洲还是美国)。
然后在启动SQL * Plus之前相应地设置NLS_LANG
值,或者设置为环境变量(例如set NLS_LANG=WE8PC850
)
或
在注册表中(HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_%ORACLE_HOME_NAME%\NLS_LANG
表示32位,分别为HKLM\SOFTWARE\ORACLE\KEY_%ORACLE_HOME_NAME%\NLS_LANG
表示64位)
您还可以更改命令行窗口的代码页,例如chcp 1252
另见这些答案: