Linux下Oracle中文数据显示为倒着的问号?(已解决)

Linux下Oracle中文数据显示为倒着的问号
原因为Linux系统环境变量的字符集编码和Oracle的字符集编码不一致。
需要将二者都改为SIMPLIFIED CHINESE_CHINA.ZHS16GBK

更改系统环境变量

查看系统的环境变量NLS_LANG。

echo $NLS_LANG

在.bash_profile文件中更改该值。

vim /home/oracle/.bash_profile
#添加该值
export NLS_LANG="SIMPLIFIED CHINESE_CHINA".ZHS16GBK

保存并退出。
使配置文件生效。

source /home/oracle/.bash_profile

更改Oracle编码

查看oracle字符集编码

select * from v$nls_parameters;

查看NLS_CHARACTERSET的值

或者

select userenv('language') from dual;
-------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK

如果不是SIMPLIFIED CHINESE_CHINA.ZHS16GBK,需要更改为该值。

网上说按如下命令直接更改,我尝试后结果报错。

ALTER SESSION SET NLS_LANGUAGE='SIMPLIFIED CHINESE';

按照下面步骤则可以成功。

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。

Total System Global Area 1071333376 bytes
Fixed Size                  1375792 bytes
Variable Size             637534672 bytes
Database Buffers          427819008 bytes
Redo Buffers                4603904 bytes
数据库装载完毕。
SQL> alter system enable restricted session;

系统已更改。

SQL> alter system set JOB_QUEUE_PROCESSES=0;

系统已更改。

SQL> alter system set  AQ_TM_PROCESSES=0;

系统已更改。

SQL> alter database open;

数据库已更改。

SQL> alter database character set  internal_use ZHS16GBK;

数据库已更改。

SQL>  shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area 1071333376 bytes
Fixed Size                  1375792 bytes
Variable Size             637534672 bytes
Database Buffers          427819008 bytes
Redo Buffers                4603904 bytes
数据库装载完毕。
数据库已经打开。

SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK

修改完成。
这时尝试向Oracle中插入中文数据,在服务器界面仍然显示为小方框,不过在数据库操作工具Navicat上可以看到,中文数据已经显示正常。

参考

Oracle 修改字符集为SIMPLIFIED CHINESE_CHINA.ZHS16GBK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值