热门关键字:  ubuntu  分区  函数  Fedora  linux系统进程

在hp-ux下修改字符集

来源: 作者: 时间:2007-09-13 Tag: 点击:



  字符集转换的方式
  本地字符集的转换:
  Adaptive Server支持属于同一语言组的本地字符集之间的转换。如果服务器把一种本地字符集作为它的缺省值,则客户端字符集必须属于同一个语言组,此时可以在服务器上浏览所有客户端提交的数据。如下图:


  图1-3 服务器端和客户端字符集属于同一语言组

 
  本图中,服务器端与客户端使用的语言集与字符集都同属于组1(见表1-1),那么他们之间实现的就是本地字符集转换方式。


  Unicode系统中的转换方式:
  在Unicode系统中,由于服务器的缺省字符集为UTF-8,所以客户端字符集可以是任何语言组中的一种本地字符集。如下图:


  图1-4Unicode系统中的字符集转换

  上图中来自每一个客户端的数据经过服务器和每个客户端时,都会被正确转换,而无论每一个客户端选择的时哪个语言组的字符集,原因是ASE服务器端选择了缺省字符集UTF-8.


  字符集转换类型
  直接转换:
  支持同一语言组内两种本地字符集之间的转换。例如,Adaptive Server支持CP437与CP850之间的转换,因为他们同属于第1语言组。


  Unicode转换:
   Unicode转换可应用于所有本地字符集,在两种本地字符集之间进行转换时,Unicode转换方式把Unicode作为中间字符集。例如,在服务器缺省字符集CP437和客户端字符集CP860之间进行转换时,CP437先被转换成Unicode,Unicode再转换成CP860。

  Unicode转换方式既可以用于服务器缺省字符集UTF-8,还可用于本地字符集。除非使用服务器缺省字符集UTF-8,否则您必须专门配置您的服务器才能使用Unicode转换方式(配置方法请参看配置篇之如何配置字符集的转换类型)。


  如何选择字符集的转换方式
   这将取决于系统的类型。

  在非Unicode系统中,服务器和客户端的字符集为本地字符集,因此可以使用Adaptive Server直接转换,但是有些字符集没有直接转换,这种情况就必须使用Unicode转换了。

  如下表所示:
  表1-5 字符集转换方式
  
   
  ――如果系统中使用的所有字符集都在表1-5的列1中,则使用直接转换。前提是所有字符集同属于一个语言组。
  ――如果系统中使用的所有字符集都在表1-5的列2中,或者有些在列1中,有些在列2中,那么必须配置服务器使用Unicode转换方式。前提是所有字符集同属于一个语言组。


  在Unicode系统中,如果服务器缺省字符集为Unicode UTF-8,那么所有的转换将在UTF-8与客户端使用的本地字符集之间进行,因此,在Unicode系统中,只能使用Unicode转换。

  2. 配置篇
  2.1 如何配置字符集的转换类型
  禁用字符集转换的配置方法
  在isql环境中执行:
  1>; sp_configure “disable character set conversion”,1
  2>; go
   “disable character set conversion”参数默认配置值为0,即启用字符集转换。

  如何配置字符集的转换类型
   把”enable unicode conversions”参数设置为1或者2。当配置为1时,此设置使用直接转换或Unicode转换;当配置为2时,此设置使用Unicode转换;默认配置值为0,使用直接转换。

  在isql环境中执行:
  1>; sp_configure ”enable unicode conversions”,1
  2>; go 

  2.2 如何配置服务器端缺省字符集
  直接转换法
   直接转换法是指直接使用Sybase提供的实用程序,如UNIX平台上使用sqlloc命令或者编辑sqlloc.rs脚本文件;Windows平台使用“服务器配置”图形化管理工具直接配置服务器端字符集。


  使用直接转换法的条件是:
  ――服务器中没有用户数据
  ――对服务器中用户数据的损坏是可以接受的
  ――绝对确定服务器中的数据只使用ASCII-7字符集


  间接转换法
  间接转换法相对于直接转换法而言,需要通过一下三步来完成配置工作:
  1. 先将服务器端的数据使用bcp命令导出
  2. 再选择直接转换法之中的一种方式配置服务器端字符集
  3. 再使用带有-J 参数的bcp命令把数据导回服务器端


  配置服务器端字符集的方法 sqlloc—适用于UNIX平台的命令
  在$SYBASE_OCS/bin目录下执行:sqlloc,将出现一个图形化界面,在这个界面中您可以直接选择语言集,字符集,排序顺序,便很容易地就完成了配置工作。


  编辑sqlloc.rs脚本文件
   将$SYBASE-ASE/init/sample_resource_files/sqlloc.rs拷贝到$SYBASE_OCS/bin目录下,按以下黑体字提示编辑该文件:
  sybinit.release_directory: /home/sybase―――输入Sybase产品的安装路径
  sqlsrv.server_name: SYB125―――输入数据库服务器的名称
  sqlsrv.sa_login: sa
  sqlsrv.sa_password: ―――输入sa的口令,若为空,则什么也不填
  sqlsrv.default_language: us_english―――输入想要配置的语言集
  sqlsrv.language_install_list: USE_DEFAULT
  sqlsrv.language_remove_list: USE_DEFAULT
  sqlsrv.default_characterset: cp850―――输入想要配置的字符集
  sqlsrv.characterset_install_list: USE_DEFAULT
  sqlsrv.characterset_remove_list: USE_DEFAULT
  sqlsrv.sort_order: binary―――输入想要配置的排序顺序
  # An example sqlloc resource file...
  # sybinit.release_directory: USE_DEFAULT
  # sqlsrv.server_name: PUT_YOUR_SERVER_NAME_HERE
  # sqlsrv.sa_login: sa
  # sqlsrv.sa_password: 
  # sqlsrv.default_language: french
  # sqlsrv.language_install_list: spanish,german
  # sqlsrv.language_remove_list: USE_DEFAULT
  # sqlsrv.default_characterset: cp437
  # sqlsrv.characterset_install_list: mac,cp850
  # sqlsrv.characterset_remove_list: USE_DEFAULT
  # sqlsrv.sort_order: dictionary


  保存已经修改好的sqlloc.rs脚本文件,执行以下命令:
  sqllocres -r sqlloc.rs

  注意屏幕上出现的提示信息,如无异常,则完成配置工作。 

  “服务器配置”图形化管理工具――适用于Windows平台
  “服务器配置”管理工具提供了一个易于操作的图形化管理平台,根据工具中提示的信息,很容易就完成了字符集的配置工作,这里就不多讲了,请参看相关文档说明。
最新评论共有 4 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册