多语言多内码类型的数据库转换方法

文档序号:6420806阅读:412来源:国知局
专利名称:多语言多内码类型的数据库转换方法
技术领域
本发明涉及一种数据库的数据转换方法,特别是关于一种多语言多内码类型的数据库转换方法。
背景技术
每个国家或地区都规定了计算机信息交换用的字符编码集,如美国的扩展ASCII码,中国的GB2312-80,日本的JIS等,作为该国家或地区内信息处理的基础,有着统一编码的重要作用。
字符编码集按长度分为SBCS(单字节字符集),DBCS(双字节字符集)两大类。早期的软件(尤其是操作系统),为了解决本地字符信息的计算机处理,出现了各种本地化版本(L10N),为了区分,引进了LANG,代码页(Codepage)等概念。但是由于各个本地字符集代码范围重叠,相互间信息交换困难,软件各个本地化版本独立维护成本较高。因此逐渐有人将本地化工作中的共性抽取出来,作一致处理,将特别的本地化处理内容降低到最少。这也就是所谓的国际化(I18N)。各种语言信息被进一步规范为Locale信息。处理的底层字符集变成了几乎包含了所有字形的统一的字符编码标准(Unicode)。
现在大部分具有国际化特征的软件核心字符处理都是以统一的字符编码标准(Unicode)为基础的,在软件运行时根据当时的Locale/Lang/Codepage设置确定相应的本地字符编码设置,并依此处理本地字符。在处理过程中需要实现统一的字符编码标准(Unicode)和本地字符集的相互转换,或以统一的字符编码标准(Unicode)为中间的两个不同本地字符集的相互转换。
从理论上来说,这些根据字符集设置而进行的字符转换不应该产生太多问题。而事实上,由于应用程序的实际运行环境不同,统一的字符编码标准(Unicode)和各个本地字符集的补充、完善,以及系统或应用程序实现的不规范,转码时出现的问题时时困扰着程序员和用户。
尤其是那些具有延续性的系列应用软件,特别是某些多语言版本的系列软件程序,涉及到各种语言版本的Win98,Win2000,WinXP,Linux等操作系统之下显示中文简体,中文繁体,日文,泰文等数据,而储存的数据库又有可能是FoxPro、Access、Outlook、Excel、Text等文档,平台的不同,各种内码类型混杂,编辑工作量巨大,转码过程多,维护复杂。例如,采用windows下的Access数据库,不能在Linux下使用,比如日英Access文档不能在非日文Windows用非统一的字符编码标准(Unicode)方式使用。

发明内容
本发明乃为解决上述问题而提供一种多语言多内码类型的数据库转换方法,可以将多语言多内码类型的数据库数据作一致性处理,有利于规范化操作。
本发明提供一种多语言多内码类型的数据库转换方法,用于将多种语言及内码类型的数据库文件作一致性处理,该方法首先查询原始数据库档案并确定其类型,然后分析该原始数据库档案的字段及内码类型,将该原始数据库档案的数据按字段分别提取出来,再将提取出的每一字段的数据都生成一新的数据文件并转为本地码储存。
由于本发明可以在新生成的数据文件中定义足够多的信息内容,因此可以使用同一个应用程序来对这些不同类型的数据素材进行利用,在发布的时候,更换具有相同文件名的一系列数据库档案,就可以形成不同的版本,克服了以前由于不同的语言、内码以及平台版本,为数据素材的利用以及软件程序的编制工作所带来麻烦与困惑。


图1为本发明的多语言多内码类型的数据库转换方法流程图。
其中,附图标记说明如下步骤101查询原始数据库档案并确定其类型步骤102分析该原始数据库档案的字段及内码类型步骤103将该原始数据库档案的数据按字段分别提取出来步骤104将提取出的每一字段的数据都生成一新的数据文件并转为本地码储存具体实施方式
本发明提供一种多语言多内码类型的数据库转换方法,请参阅图1,为本发明的流程图,首先,查询原始数据库档案并确定其类型(步骤101);通过数据库的类型,可以分析该原始数据库档案的字段及内码类型(步骤102);将该原始数据库档案的数据按字段分别提取出来(步骤103);将提取出的每一字段的数据都生成一新的数据文件并转为本地码储存(步骤104)。
其中,对于步骤101,可以通过数据库档案的名称以及扩展名进行判断。
当应用程序需要使用这些新的数据文件的时候,应用程序设定相应的字符集就可直接读取该新的数据文件。其中该相应的字符集与新的数据文件的本地码类型相匹配。
例如,对于某些多语言版本的语言教学软件程序,其原始素材可能是中文简体、中文繁体、日文、泰文、西班牙文、英文等语言储存的,使用的数据库档案可能是Foxpro、Access、Outlook、Excel、Text等,而最终产品的运行环境则又可能是Win98、Win2000、WinXP或Linux等。在编制这样的软件程序时,需要考虑到素材文档以及运行环境的多样性。为了使素材编辑人员能够方便的进行维护和编辑,通过本发明,素材编辑人员仍可以使用原有的素材档案格式,例如,FoxPro档案里面的数据就是用本地码储存,Access档案是用Unicode码储存。由于不同格式的档案会有不同的文档名及其扩展名,所以可以方便的确定具体的档案格式,不同的档案格式,其数据库字段具有不同的特点。
以中英文互译的Access素材数据库文件为例,可以选取该文档中的英文以及译文两个字段,将这两个字段中的数据分别提取出来,各自生成新的数据文件,将英文字段都命名为Ex,译文字段都命名为Note,同时把Unicode码进行转化,中文选用BIG5本地码,如果是日文,则可以选用Shift-JIS本地码。而如果是对FoxPro文档进行操作,由于FoxPro里面储存的就是本地码,所以可以直接当作二进制流进行操作即可。
对于新生成的数据文件,其数据结构可以如下字段 字节 内容1.File 4″IDX_″2.Info 4″INFO″3.Len4由4--10得到4.Ver4″0001″,″0002″....
5.Offset长度 16.字段数 17.字段名称长度(len) 18.字段名称 len9.字段类型 1C-CharacterY-CurrencyN-NumericF-FloatD-DateT-DateTimeB-DoubleI-IntegerL-LogicalM-MemoG-GeneralC-Character(binary)M-Memo(binary)P-Picture10.保存各字段长度的长度 1//7至10循环11.Code 4″CODE″12.Code长度Len 413.Code内容 Len
14.Data 4 ″DATA″15.Reserved 4 0x000016.Offset 由5得到17.Field1 由10得到//16至17循环对用这些素材的应用程序而言,可以用相同的程序来处理新生成的数据文件,以上例为例,在中文Windows环境下,选用中文数据库,读取记录(note),而ex字段可以直接使用。在其它语言windows或Linux的环境下,选择正确的字体及字符集,也能使用。
以上所述,仅为本发明其中的较佳实施例而已,并非用来限定本发明的实施范围;凡依本发明申请专利范围所作的均等变化与修饰,皆为本发明专利范围所涵盖。
权利要求
1.一种多语言多内码类型的数据库转换方法,用于将多种语言及内码类型的数据库文件作一致性处理,其中该方法包括查询原始数据库档案并确定其类型;分析该原始数据库档案的字段及内码类型;将该原始数据库档案的数据按字段分别提取出来;及将提取出的每一字段的数据都生成一新的数据文件并转为本地码储存。
2.如权利要求1所述的多语言多内码类型的数据库转换方法,其中更包括应用程序设定相应的字符集直接读取该新的数据文件的步骤。
3.如权利要求1所述的多语言多内码类型的数据库转换方法,其中该查询原始数据库档案并确定其类型的步骤,是通过数据库文件名称而确定其类型。
4.如权利要求1所述的多语言多内码类型的数据库转换方法,其中该分析原始数据库档案的字段的步骤,是通过数据库的类型而分析其字段。
5.如权利要求1所述的多语言多内码类型的数据库转换方法,其中该分析原始数据库档案的内码类型的步骤,是通过数据库的类型而确定其内码类型。
6.如权利要求2所述的多语言多内码类型的数据库转换方法,其中该相应的字符集与新的数据文件的本地码类型相匹配。
全文摘要
一种多语言多内码类型的数据库转换方法,首先查询原始数据库档案并确定其类型,然后分析该原始数据库档案的字段及内码类型,将该原始数据库档案的数据按字段分别提取出来,再将提取出的每一字段的数据都生成一新的数据文件并转为本地码储存,克服了由于不同的语言以及内码类型为数据素材的利用以及软件程序的编制工作所带来麻烦。
文档编号G06F17/30GK1619537SQ20031011656
公开日2005年5月25日 申请日期2003年11月20日 优先权日2003年11月20日
发明者温世仁, 张东华, 侯茂力 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1