赞
踩
刚刚碰到一个问题,对方的服务器环境为linux,按照一般的sqlldr导入数据,通过plsql查询时发现为问号和乱码。
通过数据库的SELECT * FROM V$NLS_PARAMETERS,查出数据库的字符编码NLS_CHARACTERSET为AMERICAN_AMERICA.ZHS16GBK,但是NLS_NCHAR_CHARACTERSET为AL16UTF16。
于是,在服务器上修改oracle和root用户的.bash_profile和profile,添加字符编码设定export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;
在cmd中输入regedit,找到本机的oracle NLS_CHARACTERSET,我的地址为HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/NLS_LANG,将其改为AMERICAN_AMERICA.ZHS16GBK。
将导入的数据文件csv通过工具,我的是UltraEdit,另存为ANSI,在控制文件ctl 中加入语言控制代码 CHARACTERSET ZHS16GBK。
接下来导入数据,应该就是可以的了。(记得改完后plsql要重新打开过)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。