楼主只是改前两部分,是不是想提示的时候是中文?如果这样,你只需要更改客户端的字符集即可,不用改服务器端,如不知道客户端怎么更改皮笑前,请追问。
NLS_LANG = language_territory.charset
Language: 指定服务器消息的语言, 影响提示信息是中文还是英文
Territory: 指定服务器的日期和数字格式,
如:AMERICAN _ AMERICA. ZHS16GBK
从NLS_LANG的组成我们可以看出,真正影响数据库字符集的燃清其实是第三部分。
所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据,前面影响的只是提示信息是中文还是英文。
一、pl/sql developer 中文字段显示乱码原尺兆春因:因为数据库的编号格式和pl /sql developer的编码陵耐格式不统一造成的。
二、查看和修改oracle数据库字符集:
select userenv('language') from dual
查询结果:
SIMPLIFIED CHINESE_CHINA.AL32UTF8
--修改oracle数据库字符集:(在SQL Plus中)
sql>conn / as sysdba
sql>shutdown immediate
database closed.
database dismounted.
oracle instance shut down.
sql>startup mount
oracle instance started.
total system global area 135337420 bytes
fixed size 452044 bytes
variable size 109051904 bytes
database buffers 25165824 bytes
redo buffers 667648 bytes
database mounted.
sql>alter system enable restricted session
system altered.
sql>alter system set job_queue_processes=0
system altered.
sql>alter system set aq_tm_processes=0
system altered.
sql>alter database open
database altered.
sql>alter database character set internal_use JA16SJIS
sql>shutdown immediate
sql>startup
三、修改pl/sql developer 的编码格式:
在windows中创 建一个名为“NLS_LANG”的系统环境变猜乎量,设置其值为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,
然后重新启动 pl/sql developer,这样检索出来的中文内容就不会是乱码了。如果想转换为UTF8字符集,可以赋予“NLS_LANG”为 “AMERICAN_AMERICA.UTF8”,然后重新启动 pl/sql developer。其它字符集设置同上。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)