NLS_LANG字符集

要想在Oracle中插入中文数据,则首先必须保证数据库创建时选择的字符集是中文的。(如果不是中文,当然可以通过后期的设置修改,但比较麻烦,而且如果该数据库保存过clob大字段,则难以保证成功)
查看数据库的字符集:
SQL> select * from nls_database_parameters;
……
NLS_CHARACTERSET ZHS16GBK
……
或者:

SQL>select userenv('language') from dual;

设置原则:NLS_LANG的设置只要求和客户端相同就好了。
(1)对于ORACLE SQL Developer来说,是没有字符集设置的,它使用的是操作系统的字符集。
(2)如果使用的是secureCRT,则需要设置其字符集与客服端一致。
查看客户端字符集命令:locale
[root@localhost ~]# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
可以看到,当前客户端的字符集是zh.CN.UTF-8,而zh.CN是时区与提示语言,与数据库存储的数据无关,可以忽略。
设置数据库NLS方法,有以下两种:
1、export NLS_LANG=american_america.utf8
2、修改.bash_profile参数文件
a)在参数文件末追加:export NLS_LANG=american_america.utf8,保存退出
b)使参数文件生效:source .bash_profile

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值