在SQL*Plus中改变字体和字符集(转自网络)

2012-04-05  杨森 

Oracle中所使用的SQL*Plus有两种,一种是基于MS-DOSSQL*Plus,其对应的命令程序为sqlplus.exe,存放在D:\oracle\product\10.2.0\db_1\bin\目录下。另一个是基于Windowssqlplusw.exe。由于字体的改变对MS-DOS环境并无影响,因此,它仅对sqlplusw.exe有效,其主要原因是,在Windows环境下启动sqlplusw.exe时,需要读取注册表,所以,更改字体的大小,只需更改注册表信息即可。



具体步骤如下。


步骤1打开注册表定位于Oracle产品所在的入口项:hkey_local_machine\software\oracle\ key_OraDb 10g_home1。其中,key_OraDb 10g_home1是当前Oracle数据库服务器安装的位置,如果安装了另一个Oracle产品,则会出现HOME1,依次类推。


  步骤2在当前注册表项下,添加两个字符串值

 ·sqlplus_font,其值为“terminal”

 ·sqlplus_font_size,其值为14,或其他大小的值,如1618等。


步骤3关闭注册表,启动sqlplusw.exe即可生效。

另外,与字体有关的是不同字符集数据的显示问题。如果要更改在客户端显示的字符集,则在MS-DOS提示符下,更改参数nls_lang的字符集。例如,将参数nls_lang设置成繁体中文(Traditional Chinese),则命令为:


set nls_lang=traditional chinese_taiwan.zht16mswin950


如果设置成中文简体(Simplified Chinese),则命令为:

set nls_lang=simplified chinese_china.ZHS16GBK


实际上,注册表中nls_lang的参数值并没有因为上面命令的执行而发生改变,其中的参数值是Oracle数据库所采用的字符集。因此,只能在MS-DOS模式下,使用命令set nls_lang=language_territory.character_set来改变每个会话进程当前语言字符集下的显示内容。这为不同的会话进程中显示不同语言文字信息提供了极大的方便。


完成nls_lang参数更改后,便可启动SQL*Plus,内容就会正确显示。如果要永久性地改变nls_lang参数,则打开控制面板”→“系统”→“环境变量,从中创建新的环境变量nls_lang,其值为要更改的值,例如日文值为Japanese_Japan.UTF8。重新启动系统即可生效。


使用Administration Assistant for Windows也可以完成对Oracle数据库字符集以及在SQL*Plus中改变字体等设置。首先,启动Administration Assistant for Windows,然后,将各级目录展开,在“Oracle主目录下找到“OraDB 10g_home1”,在其上单击鼠标右键,在出现的下拉菜单中选择属性,出现对话框,从中选择要编辑修改的项,修改其参数值即可。

 

 

502°/5029 人阅读/0 条评论 发表评论

登录 后发表评论