suse linux下oracle中文显示成问号,怎样修改oracle编码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了suse linux下oracle中文显示成问号,怎样修改oracle编码相关的知识,希望对你有一定的参考价值。
操作系统是suse linux enterprise desktop 10,oracle是 10g。
suse有的中文显示问号。oracle插入中文后查询得到的是问号。
suse下RC_LANG和RC_LC_ALL是zh_CN.GB2312.
oracle通过select name,value$ from props$ where name like '%NLS%';
查的NLS_NCHAR_CHARACTERSET
AL16UTF16
启动监听后,通过sqlplus / as sysdba登陆oracle,执行如下:
startup;
shutdown immediate;
startup mount;
alter system enable restricted session;
alter system set job_queue_processes=0;
alter database open;
alter database character set internal_convert zhs16gbk;
可是改不过来,请高手指教。
sql> conn / as sysdba;
sql> shutdown immediate;
database closed.
database dismounted.
oracle instance shut down.
sql> startup mount;
oracle instance started.
total system global area 135337420 bytes
fixed size 452044 bytes
variable size 109051904 bytes
database buffers 25165824 bytes
redo buffers 667648 bytes
database mounted.
sql> alter system enable restricted session;
system altered.
sql> alter system set job_queue_processes=0;
system altered.
sql> alter system set aq_tm_processes=0;
system altered.
sql> alter database open;
database altered.
sql> alter database character set internal_use CHINESE_CHINA.AL32UTF8;
sql> shutdown immediate;
sql> startup;
备注:具体的编码格式根据实际需要修改即可,推荐UTF-8(默认是GBK)。 参考技术A utf8:
ALTER DATABASE `数据库` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
ALTER TABLE `数据表` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
gbk (包含gb2312):
ALTER DATABASE `数据库` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci
ALTER TABLE `数据表` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci本回答被提问者采纳 参考技术B alter database character set internal_use JA16SJIS; 参考技术C 重新创建一个数据库,选择ZHS16GBK呢?
Linux启动oracle数据库时,显示很多问号
如图所示,我在启动oracle数据库时出现了这么多问号,怎么解决这个问题?
参考技术A 字符集问题,不影响使用,1、linux服务器 LANG 环境变量指定字符集
2、客户端(PUTTY、xshell之类)也有可指定字符集
一般建议使用英文,LANG=en_us 之类 客户端字符集设置UTF-8可解决大部分乱码追问
这个更改字符集的命令是怎么写的啊?
以上是关于suse linux下oracle中文显示成问号,怎样修改oracle编码的主要内容,如果未能解决你的问题,请参考以下文章