计算机可实现的字符集转换方法及系统的制作方法

文档序号:6623864阅读:182来源:国知局
专利名称:计算机可实现的字符集转换方法及系统的制作方法
技术领域
本发明是有关于一种字符转换的技术,特别是有关于一种转换编码字符集的方法及系统。
背景技术
在数据处理中,数据可能被分散于不同的储存装置或者不同的操作装置中,例如不同的数据库或计算机系统。因此,许多数据相关处理操作,如数据选取(selection)、数据删除(deletion)或数据整合(integration)等等,是交互发生于不同数据库或计算机系统中。然而,每一数据库通常具有自属的字符集(character set),用以对储存于其中的字符(character)进行编码。
当不同的数据库采用相同字符集进行字符编码时,数据可直接在不同的数据库中进行数据处理与操作。又或者,虽然数据库采用不同的字符集,但其对字符进行编码后的字符码(charactercode)为相同字符码时,数据也可直接于不同的数据库中进行数据处理与操作。
一般而言,字母与数字所构成的字符(alphanumeric)在字符集的转换上没有问题,因为即使数据库采用不同字符集,但不同字符集对字母与数字所构成的字符进行编码后均为相同的字符码,因此字母与数字所构成的字符可于不同数据库间直接进行数据处理与操作。
然而对于非字母与数字所构成的字符,如中文、日文或其它亚洲语文,每一数据库所采用的字符集并不兼容,也就是说每一数据库所采用的字符集,对非字母与数字所构成的字符会产生不同的字符码,因此非字母与数字所构成的字符无法在不同数据库间直接转换而进行数据处理。
近来,许多数据库已采用国际通用码(Unicode)作为编码字符集。国际通用码可容许同一文件中具有多种语文或字型,其中包括中文。当数据由使用其它字符集的数据库,而欲转换至采用国际通用码的数据库时,字符转换的问题就可能发生。
举例而言,假设一数据库采用ASCII字符集进行字符编码,而另一数据库采用UTF-8字符集进行字符编码。对于中文而言,由于中文并非ASCII字符集所包含的字符,因此当此数据库采用ASCII字符集进行编码时,储存于其中的中文便透过其它与ASCII字符集兼容的字符集进行编码,如BIG5等字符集。对于采用UTF-8字符集的数据库而言,由于UTF-8字符集包括中文,因此可直接对汉字字符进行字符编码。然而,两者对于汉字字符进行编码所产生的字符码并不相同。因此,当含有中文的数据欲由采用ASCII字符集的数据库,转换至采用UTF-8字符集的数据库,字符转换的问题就会发生。
目前的数据库系统,有些可提供字符转换的解决方案。但其解决方案多针对数据库的转换技术,并无一有效的方法可针对非字母与数字所构成的字符,如中文、日文或韩文等。

发明内容
有鉴于此,本发明的目的就在于提供一种解决字符转换问题的方法,特别针对非字母与数字所构成的字符。本发明的另一目的在于,透过字符转换以使数据可于不同数据库间直接进行处理及操作。
为达上述目的,本发明提出一种计算机可实现的字符集转换方法,用以将字符编码由来源字符集转换至目的字符集,其中目的字符集不为来源字符集的完全母集(strict superset)。首先,提供进行转换的字符,字符可由来源数据库提供,来源数据库是采用来源字符集进行字符编码,每一字符根据来源字符集可编码为第一字符码。
接着,选择中介字符集。中介字符集使得每一字符编码后的字符编码与来源字符集进行编码后的第一字符码相同。目的字符集是为中介字符集的完全母集。然后,进行第一转换,将字符的编码由来源字符集转换至中介字符集。最后,进行第二转换,将字符的编码由中介字符集转换至目的字符集,其中每一字符根据目的字符集编码为第二字符码。
第一转换包括如下所述的步骤。首先,记录字符于第一备份文件中。然后,附加标记于第一备份文件中,标记可为环境变量。接着,根据标记,将第一备份文件中的上述字符的编码由来源字符集对应至中介字符集。第二转换包括如下所述的步骤。首先,记录字符于第二备份文件中。接着,改变第二备份文件中的字符的编码长度。然后,将第二备份文件中的字符的编码由中介字符集对应至目的字符集。而后,可输出第二备份文件中的字符至目的数据库中,其中目的数据库是采用目的字符集进行字符编码。
再者,本发明提出一种字符集转换系统,用以将字符编码由来源字符集转换至目的字符集,其中目的字符集不为来源字符集的完全母集。字符集转换系统包括来源数据库、目的数据库以及转换器。
来源数据库用以储存字符,每一字符根据来源字符集编码为第一字符码。目的数据库用以储存字符,其中每一字符根据目的字符集编码为第二字符码。
转换器耦接于来源数据库及目的数据库,用以选择中介字符集,进行第一转换,将字符的编码由来源字符集转换至中介字符集。转换器并进行第二转换,将字符的编码由中介字符集转换至目的字符集,每一字符根据中介字符集编码为与来源字符集编码相同的第一字符码,目的字符集是为中介字符集的完全母集。
转换器于进行第一转换时,用以记录字符于第一备份文件中,并附加标记,如环境变量等,于第一备份文件中。再根据标记,将第一备份文件中的字符的编码由来源字符集对应至中介字符集。转换器于进行第二转换时,用以记录字符于第二备份文件中,改变第二备份文件中的字符的编码长度,并将第二备份文件中的字符的编码由中介字符集对应至目的字符集。
又再者,本发明提出一种字符集转换系统,用以将字符编码由来源字符集转换至目的字符集,其中目的字符集不为来源字符集的完全母集,字符集转换系统包括转换器。
转换器用以选择中介字符集,进行第一转换,即将字符的编码由来源字符集转换至中介字符集。转换器更用以进行第二转换,即将字符的编码由中介字符集转换至目的字符集。每一字符根据中介字符集编码为与来源字符集相同的第一字符码,目的字符集是为中介字符集的完全母集。
转换器于进行第一转换时,尚用以记录字符于第一备份文件中,附加标记(如环境变量)于第一备份文件中。再根据标记,将第一备份文件中的字符的编码由来源字符集对应至中介字符集。
转换器于进行第二转换时,尚用以记录字符于第二备份文件中,改变第二备份文件中的字符的编码长度。再将第二备份文件中的字符的编码由中介字符集对应至目的字符集。在此系统中字符可储存于数据库中,意即由数据库中撷取出来,处理完后可储存于不同数据库中。
本发明所述计算机可实现的字符集转换方法及系统,可应用于采用不同字符集进行编码的数据库中,从而解决字符转换的问题。


图1是显示本发明所揭示的来源字符集、中介字符集以及目的字符集的示意图;图2是显示本发明所揭示的方法的执行流程图;图3是显示本发明所揭示的系统的一实施例的功能方块图;图4是显示本发明所揭示的系统的另一实施例的功能方块图。
具体实施例方式
请参照图1,图1是显示本发明所揭示的来源字符集、中介字符集以及目的字符集的示意图。如图所示,根据US7ASCII字符集,汉字字符10“李”、12“柏”及14“桐”会由其兼容字符集分别编码为(a7,f5)、(ac,66)及(ae,e4)。
WIN950字符集则选定为中介字符集,因为汉字字符由WIN950字符集编码后的字符码与US7ASCII相容字符集的字符码相同。同时UTF-8字符集是为WIN950字符集的完全母集,因此字符编码可由WIN950字符集直接对应至UTF-8字符集。
然后,进行第一转换,将字符的编码由US7ASCII字符集转换至WIN950字符集。第一转换首先将字符记录于第一备份文件中。然后,附加标记(flag)于第一备份文件中,标记可为环境变量,用以表示虽然字符码相同,但所使用的字符集已由US7ASCII字符集转换至WIN950字符集。接着,可根据标记,将第一备份文件中的上述字符的编码由US7ASCII字符集对应至WIN950字符集。
第二转换首先记录字符于第二备份文件中。接着,改变第二备份文件中的字符的编码长度。改变编码长度是因为在WIN950字符集中字符编码长度为2字节(byte),而在UTF-8字符集中字符编码长度为3字节。然后,将第二备份文件中的字符的编码由WIN950字符集对应至UTF-8字符集。
字符可以储存于数据库中,当数据欲进行转换时,可将字符记录至文件中,然后进行相关处理。当数据处理完成后,再将字符由文件储存至数据库中。如此一来,透过文件运用,便可将数据于采用不同字符集的数据库间进行处理与操作。
前述两阶段式的转换方法,是利用中介字符集作为处理的接口(interface),应用于当来源数据库与目的数据库分别采用不可直接转换的字符集时,可解决因数据库采用不可直接转换的字符集于字符转换时,所产生数据缺漏问题。
值得注意的是,中介字符集的选定具有特定的要求。中介字符集对于字符进行编码后的字符码,必须和来源字符集的编码后的字符码相同。而且目的字符集必须是中介字符集的完全母集。
请参照图2,图2是显示本发明所揭示的方法的执行流程图。在一实施例中,首先提供进行转换的字符,如步骤S200所示,字符可由来源数据库提供,来源数据库是采用来源字符集进行字符编码,每一字符根据来源字符集编码为第一字符码。
接着,选择中介字符集,如步骤S202所示。中介字符集使得每一字符编码为与来源字符集相同的第一字符码,而且目的字符集是为中介字符集的完全母集。
然后,进行第一转换,将字符的编码由来源字符集转换至中介字符集。第一转换首先记录字符于第一备份文件中,如步骤S204所示。然后,附加标记,如环境变量等,于第一备份文件中,如步骤S206所示。接着,根据标记,将第一备份文件中的字符的编码由来源字符集对应至中介字符集,如步骤S208所示。
最后,进行第二转换,将字符的编码由中介字符集转换至目的字符集,其中每一字符根据目的字符集编码为第二字符码。第二转换首先记录字符于第二备份文件中,如步骤S210所示。接着,改变第二备份文件中的字符的编码长度,如步骤S212所示。然后,将第二备份文件中的字符的编码由中介字符集对应至目的字符集,如步骤S214所示。而后,可输出第二备份文件中的字符至目的数据库中,其中目的数据库是采用目的字符集进行字符编码,如步骤S216所示。
本发明所提出的方法可以计算机程序语言,如JAVA等,加以实现。请再参照图2,在一实施例中,首先提供进行转换的字符,如步骤S200所示,字符可由来源数据库或文件提供,来源数据库是采用来源字符集进行字符编码,每一字符根据来源字符集编码为第一字符码。
而后,计算机程序选择中介字符集,如步骤S202所示。中介字符集使得每一字符编码为与来源字符集相同的第一字符码,而且目的字符集是为中介字符集的完全母集。
计算机程序接着进行第一转换,将字符的编码由来源字符集转换至中介字符集。于第一转换中,计算机程序首先记录字符于第一备份文件中,如步骤S204所示。然后再附加标记,如环境变量等,于第一备份文件中,如步骤S206所示。最后根据标记,将第一备份文件中的字符的编码由来源字符集对应至中介字符集,如步骤S208所示。
计算机程序再进行第二转换,将字符的编码由中介字符集转换至目的字符集,其中每一字符根据目的字符集编码为第二字符码。于第二转换中,计算机程序首先记录字符于第二备份文件中,如步骤S210所示。接着,改变第二备份文件中的字符的编码长度,如步骤S212所示。再将第二备份文件中的字符的编码由中介字符集对应至目的字符集,如步骤S214所示。
完成第二转换后,计算机程序可输出第二备份文件中的字符至目的数据库或文件中,其中目的数据库是采用目的字符集进行字符编码,如步骤S216所示。
请参照图3,图3是显示本发明所揭示的系统的一实施例的功能方块图。如图所示,本发明提出一种字符集转换系统,用以将字符编码由来源字符集,如US7ASCII字符集,转换至目的字符集,如UTF-8字符集,其中目的字符集不为来源字符集的完全母集。字符集转换系统包括来源数据库100、目的数据库300以及转换器200。在一实施例中,来源数据库100及目的数据库300可建置为主从式系统架构中的终端计算机(client),而转换器200可建置为主从式系统架构中的服务器(server)。
在此实施例中,来源数据库100用以储存字符,每一字符根据来源字符集,即US7ASCII字符集,编码为第一字符码。目的数据库300用以储存字符,其中每一字符根据目的字符集,即UTF-8字符集,编码为第二字符码。
转换器200耦接于来源数据库100及目的数据库200,用以选择中介字符集,如WIN950字符集。转换器200进行第一转换,将字符的编码由US7ASCII字符集转换至WIN950字符集。以及进行第二转换,将字符的编码由WIN950字符集转换至UTF-8字符集,每一字符根据WIN950字符集编码为与US7ASCII字符集相同的第一字符码,UTF-8字符集是为WIN950字符集的完全母集。
转换器200于进行第一转换时,用以记录字符于第一备份文件(未图示)中,并附加标记于第一备份文件中。再根据标记,将第一备份文件中的字符的编码由US7ASCII字符集对应至WIN950字符集。转换器200于进行第二转换时,用以记录字符于第二备份文件(未图示)中,改变第二备份文件中的字符的编码长度为1.5倍,因为在WIN950字符集中字符编码长度为2字节(byte),而在UTF-8字符集中字符编码长度为3字节。转换器200再将第二备份文件中的字符的编码由WIN950字符集对应至UTF-8字符集。
请参照图4,图4是显示本发明所揭示的系统的另一实施例的功能方块图。在一实施例中,本发明可以如图所示的系统加以实现。此系统包括终端计算机系统500、储存库系统600、读取服务器700、载入服务器750、UTF-8数据库800及US7ASCII数据库850。US7ASCII数据库850包含欲进行转换的字符。
终端计算机系统500利用开放式数据库连接器(OpenDatabase Connectivity,ODBC)对UTF-8数据库800进行数据处理。终端计算机系统500利用数据流(data workflow)以撷取或载入数据。终端计算机系统500执行与监督数据流,如读取、传送或载入数据至储存库系统600中。储存库系统600耦接至终端计算机系统500,用以储存与数据流相关的程序。
载入服务器750耦接至US7ASCII数据库850,用以载入字符并将字符编码由US7ASCII字符集转换至WIN950字符集。UTF-8数据库800接收经过第一转换的字符,再将字符编码由WIN950字符集转换至UTF-8字符集,完成字符的转移操作。
综言之,本发明提出一种计算机可实现的字符集转换方法及系统,可应用于采用不同字符集进行编码的数据库中,解决字符转换的问题,达到本发明所欲达到的目的。
如前所述的方法及系统是针对字符转换问题提供一健全的解决方案。倘若前述方法及系统在某些条件下有所变更,例如数据库所采用的字符集有所变更,则本发明所揭示的方法及系统当可随之调整以因应实际应用时的不同需求。
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。
附图中符号的简单说明如下10、12、14、20、22、24字符30UTF-8字符集32WIN950字符集34US7ASCII字符集100US7ASCII数据库(来源数据库)200转换器300UTF-8数据库(目的数据库)500终端计算机系统600储存库系统700读取服务器750载入服务器800UTF-8数据库850US7ASCII数据库
权利要求
1.一种计算机可实现的字符集转换方法,其用以将字符编码由一来源字符集转换至一目的字符集,其中上述目的字符集不为上述来源字符集的完全母集,所述计算机可实现的字符集转换方法包括下列步骤提供多个字符,每一上述字符根据上述来源字符集编码为多个第一字符码;选择一中介字符集,其中每一上述字符根据上述中介字符集编码为相同的上述第一字符码,上述目的字符集是为上述中介字符集的完全母集;进行一第一转换,将上述字符的编码由上述来源字符集转换至上述中介字符集,上述第一转换包括记录上述字符于一第一备份文件中,附加一标记于上述第一备份文件中,以及根据上述标记,将上述第一备份文件中的上述字符的编码由上述来源字符集对应至上述中介字符集;以及进行一第二转换,将上述字符的编码由上述中介字符集转换至上述目的字符集,其中每一上述字符根据上述目的字符集编码为多个第二字符码,上述第二转换包括记录上述字符于一第二备份文件中,改变上述第二备份文件中的上述字符的编码长度,以及将上述第二备份文件中的上述字符的编码由上述中介字符集对应至上述目的字符集。
2.根据权利要求1所述的计算机可实现的字符集转换方法,其特征在于上述来源字符集是为US7ASCII字符集,上述中介字符集是为WIN950字符集,上述目的字符集是为UTF-8字符集。
3.根据权利要求1所述的计算机可实现的字符集转换方法,其特征在于上述标记是为一环境变量。
4.根据权利要求1所述的计算机可实现的字符集转换方法,其特征在于尚包括输出上述第二备份文件中的上述字符至一目的数据库中,其中上述目的数据库是采用上述目的字符集进行字符编码。
5.根据权利要求1所述的计算机可实现的字符集转换方法,其特征在于上述字符是由一来源数据库提供,上述来源数据库是采用上述来源字符集进行字符编码。
6.一种字符集转换系统,其用以将字符编码由一来源字符集转换至一目的字符集,其中上述目的字符集不为上述来源字符集的完全母集,所述字符集转换系统包括一转换器,用以选择一中介字符集,进行一第一转换,将上述字符的编码由上述来源字符集转换至一中介字符集,上述转换器于进行上述第一转换时,用以记录上述字符于一第一备份文件中,附加一标记于上述第一备份文件中,以及根据上述标记,将上述第一备份文件中的上述字符的编码由上述来源字符集对应至上述中介字符集,以及进行一第二转换,将上述字符的编码由上述中介字符集转换至上述目的字符集,上述转换器于进行上述第二转换用以记录上述字符于一第二备份文件中,改变上述第二备份文件中的上述字符的编码长度,以及将上述第二备份文件中的上述字符的编码由上述中介字符集对应至上述目的字符集,其中每一上述字符根据上述中介字符集编码为与上述来源字符集相同的多个第一字符码,上述目的字符集是为上述中介字符集的完全母集。
7.根据权利要求6所述的计算机可实现的字符集转换系统,其特征在于上述来源字符集是为US7ASCII字符集,上述中介字符集是为WIN950字符集,上述目的字符集是为UTF-8字符集。
8.根据权利要求6所述的计算机可实现的字符集转换系统,其特征在于上述标记是为一环境变量。
9.根据权利要求6所述的计算机可实现的字符集转换系统,其特征在于尚包括一来源数据库,用以储存上述字符,上述来源数据库是采用上述来源字符集进行字符编码。
10.根据权利要求6所述的计算机可实现的字符集转换系统,其特征在于尚包括一目的数据库,上述转换器用以输出上述第二备份文件中的上述字符至上述目的数据库中,其中上述目的数据库是采用上述目的字符集进行字符编码。
全文摘要
本发明提供一种计算机可实现的字符集转换方法及系统,所述计算机可实现的字符集转换方法,用以将字符编码由来源字符集转换至目的字符集,目的字符集不为来源字符集的完全母集。首先,提供进行转换的字符,每一字符根据来源字符集可编码为第一字符码。接着,选择中介字符集,中介字符集可使每一字符的字符编码与来源字符集所编码的第一字符码相同,而目的字符集是为中介字符集的完全母集。然后,进行第一转换,将字符的编码由来源字符集转换至中介字符集。最后,进行第二转换,将字符的编码由中介字符集转换至目的字符集,每一字符根据目的字符集可编码为第二字符码。本发明可应用于采用不同字符集进行编码的数据库中,以解决字符转换的问题。
文档编号G06F17/22GK1713173SQ20051007746
公开日2005年12月28日 申请日期2005年6月23日 优先权日2004年6月24日
发明者李柏桐 申请人:台湾积体电路制造股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1