重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
怎样让Oracle支持中文
创新互联建站服务项目包括古田网站建设、古田网站制作、古田网页制作以及古田网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,古田网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到古田省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
需要修改字符集。
Oracle修改服务器端字符集:
SQLSHUTDOWN IMMEDIATE;
SQLSTARTUP MOUNT;
SQLALTER SYSTEM ENABLE RESTRICTED SESSION;
SQLALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQLALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQLALTER DATABASE OPEN;
SQLALTER DATABASE CHARACTER SET ZHS16GBK;
点菜单-Tools -preferences-User Interface - Appearance - Language,最后,选择 Chinese.lang。
1、去网上下载汉化包;
2、下载好了打开Chinese;
3、选择确定;
4、目录是你安装PLSQL的目录,如果不是,自己修改一下;
5、如图,点击那个右边三角;
6、点击对勾就可以了;
7、如图,安装就算完成了;
8、看,是不是变成中文了。
在安装完oracle10g后,由于jre默认使用的字体问题,使得em,dbca,netca,netmgr显示中文时出现"□□"字样的乱码,下面来说明这个问题的解决办法:
1. 改变$ORACLE_HOME/jdk目录下的jre的默认字体
cd $ORACLE_HOME/jdk/jre/lib/
ls font*zh_CN*
font.properties是默认使用的字体
还可以看到font.properties.zh_CN.Redhat8.0和其它的字体
cp font.properties font.properties.bak
cp font.properties.zh_CN.Redhat8.0 font.properties
2. 改变$ORACLE_HOME/jre下的默认字体
cd $ORACLE_HOME/jre/1.4.2/lib/
ls font*zh_CN*
font.properties是默认使用的字体
还可以看到font.properties.zh_CN.Redhat8.0和其它的字体
cp font.properties font.properties.bak
cp font.properties.zh_CN.Redhat8.0 font.properties
3.删除Cache下的gif文件(em页面中用到),注意不要删错目录
cd $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs/
ls *.gif
rm -f *.gif
4. 重新启动EM服务
cd $ORACLE_HOME/bin/
./emctl stop dbconsole
./emctl start dbconsole
好可以进入em web页面看看是否中文不再是 "□□"字样的乱码了!
在Redhat上安装Oracle 10g没有设定字符集,采用的是操作系统默认字符集:WE8ISO8859P1,将字符集修改为:ZHS16GBK。由于过程不可逆,首先需要备份数据库。
1.数据库全备
2.查询当前字符集
SQL select * from nls_database_parameters where parameter='NLS_CHARACTERSET';
PARAMETER VALUE
---------------------------------------- ----------------------------------------
NLS_CHARACTERSET WE8ISO8859P1
3.关闭数据库
SQL shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
4.启动数据库到mount状态
SQL startup mount
ORACLE instance started.
Total System Global Area 205520896 bytes
Fixed Size 1266608 bytes
Variable Size 100666448 bytes
Database Buffers 100663296 bytes
Redo Buffers 2924544 bytes
Database mounted.
5.限制session
SQL alter system enable restricted session;
System altered.
6.查询相关参数并修改
SQL show parameter job_queue_processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
job_queue_processes integer 10
SQL show parameter aq_tm_processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
SQL alter system set job_queue_processes=0;
System altered.
7.打开数据库
SQL alter database open;
Database altered.
8.修改字符集
SQL alter database character set ZHS16GBK;
alter database character set ZHS16GBK
*
ERROR at line 1:
ORA-12712: new character set must be a superset of old character set
出现错误提示,新字符集必须是老字符集的超集,也就原来字符集是新字符集的子集,可以再Oracle官方文档上查询字符集包含关系。下面使用Oracle内部命令internal_use,跳过超集检查,生产环境不建议使用此方法。
SQL alter database character set internal_use ZHS16GBK;
Database altered.
9.查询当前字符集
SQL select * from nls_database_parameters where parameter='NLS_CHARACTERSET';
PARAMETER VALUE
---------------------------------------- ----------------------------------------
NLS_CHARACTERSET ZHS16GBK
10.关闭数据库
SQL shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
11.启动数据库到mount状态
SQL startup mount
ORACLE instance started.
Total System Global Area 205520896 bytes
Fixed Size 1266608 bytes
Variable Size 100666448 bytes
Database Buffers 100663296 bytes
Redo Buffers 2924544 bytes
Database mounted.
12.将相关参数改回原来值
SQL alter system set job_queue_processes=10;
System altered.
13.打开数据库
SQL alter database open;
Database altered.
可以的。我用win008英文版安装的oracle11g
不过需要到处修改字符集,这个需要查一下,并进行测试。
oracle odbc 怎么设置能 支持中文
: 你的数据库编码字符集设置的不对,中文请使用gbk、gb3212的字符集,oracle默认好像是unicode,unicode是不支持中文的