Centos8 Linux Oracle 19c显式乱码,简单好用的解决方法

Centos8 Linux Oracle 19c显式乱码,简单好用的解决方法

解决显式乱码的一点体会,一招鲜,吃遍天

只要保证以下三者编码一致,就能解决中文,英文时间、特殊符号等乱码问题:

Oracle 服务端
Oracle 客户端
客户端所在的系统环境(会话环境)

1、查询 Oracle 服务端编码

select * from nls_database_parameters;

结果:

服务端编码

2、查询 Oracle 客户端编码

select userenv('language') from dual;

结果:

客户端编码

3、查询客户端所在的系统环境(会话环境)

1)、登录 Centos 8 Linux 上的 Oracle 账户,在终端执行如下指令

locale

结果:

会话环境

4、修改

修改原则:以服务端编码为准,修改客户端和会话环境编码。

原因:不建议修改服务端的编码,一是麻烦容易出错,甚至都不如重装省事,二是,即使修改成功也有可能发生一些莫名其妙的错误。

修改步骤:
1)、修改配置文件
在 oracle 账户终端编辑 .bash_profile ,添加如下内容(根据你查到的服务端编码作修改):
指令:

vim ~/.bash_profile

添加以下内容:

NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export NLS_LANG

:wq 保存退出

重新解析配置文件:

source ~/.bash_profile

2)、修改终端编码

终端编码
至此,基本可以解决大部分的显式乱码问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值