WEB开发网
开发学院数据库Oracle Oracle数据库字符集转换规律全面剖析 阅读

Oracle数据库字符集转换规律全面剖析

 2008-11-18 13:00:53 来源:WEB开发网   
核心提示: 使用US7ASCⅡ字符集时: Select substr(‘东北大学’,1,2) from dual; 语句执行结果返回‘东’, 使用ZHS16GBK字符集时: Select substr(‘东北大学’,1,2) fr

使用US7ASCⅡ字符集时:

Select substr(‘东北大学’,1,2) from dual;

语句执行结果返回‘东’。

使用ZHS16GBK字符集时:

Select substr(‘东北大学’,1,2) from dual;

语句执行结果返回‘东北’。

选择合适的数据库字符集

选择数据库字符集时应考虑以下事项:

1.数据库需要支持什么语言

在为数据库选择字符集时,常会发现几种字符集都适合你当前语言需求,如简体中文就有ZHS16GBK和ZHSCGB231280等字符集可供选择,应选择哪种?在选择字符集时,应考虑到数据库将来的系统需求。如果知道将来数据库要扩展支持不同的语言,选择一个范围较广的字符集会是一个更好的主意。

2.系统资源与应用之间的互作用性

选择的数据库字符集应保证操作系统与应用之间的无缝连接。如果选择的字符集不是操作系统有效的字符集,则系统就需要在这两者之间做字符转换。在这种字符转换过程中,就有可能发生一些字符丢失现象。从一种字符集A向另一种字符集B转换过程中,A中的字符必须在B中可以找到等价的字符,否则就会以“?”来代替。从这个意义上说,如果两种字符集编码范围是相同的,则可以相互转换。

字符集转换过程中会影响系统性能,因此,应保证客户端和服务器端有相同的字符集以避免字符集转换,也可以提高一定的系统性能。

3.系统的性能要求

不同的数据库字符集对于数据库的性能是有一定影响的。为了得到最好的数据库性能,选择的数据库字符集应避免字符转换,并且要选择对于期望的语言有最高效的编码效率。通常,单字节字符集比多字节字符集有更优的性能表现,在空间需求方面也更小些。

4.其他一些限制

在为数据库选择一个合适的字符集时,应参考Oracle对应版本的相关文档,检查Oracle对于一些字符集的限制。如Oracle 8.1.5版本中,以下字符集是不能使用的: JA16EUCFIXED、ZHS16GBKFIXED、JA16DBCSFIXED、KO16DBCSFIXED、ZHS16DBCSFIXED、JA16SJISFIXED、ZHT32TRISFIXED。

综上所述,正确理解Oracle字符集的转换过程,可以使我们避免不必要的麻烦和数据损失。合理利用Oracle字符集的转换过程,也可以帮助我们正确地从一种字符集转换到另一种字符集,以满足我们各种不同的应用需求。

上一页  1 2 3 4 

Tags:Oracle 数据库 字符集

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接