您好,欢迎来到测品娱乐。
搜索
您的当前位置:首页oracle 字符集问题

oracle 字符集问题

来源:测品娱乐
oracle 字符集问题

应一直受服务端编码和客户端编码要一致误导,结果害了我半个小时时间,来解决这个小问题,现在把解决记录一下,以备忘记: 出现中文乱码的主要原因是字符集不同。在Oracle中,我们关心三个地方的字符集: 先来查看一下数据库字符集:

在Oracle中可能使用Select userenv('language') from dual;或者:Select name, value$ from props$;查看。 l Oracle服务器内部的字符集 修改方法:

connect sys/chang_on_install

update props$ set value$='TRADITIONAL CHINESE_TAIWAN.AL32UTF8'where name='NLS_CHARACTERSET';

commit; 2 NLS_LANG变量里保存的字符集 这个是Oracle设置的一个变量。在Windows中,这个变量保存在注册表中:

HKEY_LOCAL_MACHINE\\SOFTWARE\\ORACLE\\HOME0 保存着NLS_LANG变量。 在Unix/Linux中,则需要自己进行设置,在.profile里面加上

NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export NLS_LANG 3 客户端应用的字符集 下面是我用到的字符集

american_america.AL32UTF8

TRADITIONAL CHINESE_TAIWAN.ZHT16MSWIN950 TRADITIONAL CHINESE_TAIWAN.AL32UTF8 AMERICAN_AMERICA.WE8ISO8859P1

AMERICAN_AMERICA.ZHS16GBK 特别注意:如果服务端编码为AL32UTF8,那么客户端就应该安装自己环境来设置字符编码。

比如我有一个服务器端,其中两个客户端一个为简体,一个为繁体:

服务器端字符集设置:american_america.AL32UTF8 简体客户端字符集设置:

AMERICAN_AMERICA.ZHS16GBK 繁体客户端字符集设置:TRADITIONAL CHINESE_TAIWAN.ZHT16MSWIN950

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- cepb.cn 版权所有 湘ICP备2022005869号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务