数据库字符集和客户端字符集(2%)是不同的,字符集转化可能会造成不可预期的后果

时间:2022-06-24 06:42:31

问题描述:本地连接服务器oracle数据库时,提示(数据库字符集和客户端字符集(2%)是不同的,字符集转化可能会造成不可预期的后果)

问题原因:问题出在oracle服务端的字符集不支持中文导致。

可以通过:

sselect * from nls_database_parameters; 命令可以查看服务端的使用的字符集。

查询结果中,NLS_CHARACTERSET的值就是字符集


解决步骤如下

1、ssh登录,切换到oracle用户

切换用户命令:su -oracle

之后用sqlplus登录oracle,命令:

sqlplus /nolog

connect /as sysdba

2、更改字符集

首先 sqlplus登录后,关闭oracle数据库

1.shutdown immediate ;     
2.startup mount ;     
3.alter  system enable restricted session ;      
4.alter  system  set  JOB_QUEUE_PROCESSES=0;      
5.alter  system  set  AQ_TM_PROCESSES=0;      
6.alter   database   open  ;      
7. alter database character set INTERNAL_USE ZHS16GBK;      
8.shutdown immediate ;     
9.startup ;    

注:第七步报错可修改成:alter database character set INTERNAL_USE ZHS16GBK;