我正在使用下面的代码生成一个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发布于 2017-01-17 22:15:18
我假设您在Windows上的SQL*Plus中运行此程序。
在这种情况下,通过chcp检查命令行窗口的代码页
通常它应该是CP437或CP850 (取决于您是在欧洲还是美国)。
然后,在启动SQL*Plus之前,相应地将NLS_LANG值设置为环境变量(例如,set NLS_LANG=WE8PC850)
或
在注册表中(32位的HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_%ORACLE_HOME_NAME%\NLS_LANG,分别64位HKLM\SOFTWARE\ORACLE\KEY_%ORACLE_HOME_NAME%\NLS_LANG )
您还可以更改命令行窗口的代码页,例如chcp 1252
另请参阅以下答案:
https://stackoverflow.com/questions/41698860
复制相似问题