当前位置导航:炫浪网>>网络学院>>网页制作>>PHP教程

PHP V5.3在Unicode方面新特征的介绍

PHP 是一种十分流行的语言,但仍然缺少适当的 Unicode 支持。不过最新发布的 V5.3 添加了一个构建于著名的 ICU 库之上的新的国际化库。现在,利用这个新库,就可以适当地对多个本地语言环境的数字和日期进行整理、排序和格式化。了解如何使用这个新库来对应用程序进行适当的国际化以及解决常见的 Unicode 问题。
Web 是一个用来开发全球性应用程序和服务的理想平台。要创建一个真正具有国际魅力的应用程序,必须对它进行调整以便能够以各种语言和编写系统处理和显示数据。

要针对另一种语言来调整应用程序,需要涉及几个阶段,第一个阶段是所谓的国际化,通常缩写为 i18n。国际化的目的是为了确保用户能在此应用程序中使用其本国的语言和注释(包括数据输入和显示用到的特殊符号)、以正确的格式显示数值和日期,以及根据特定于语言的规则来排序列表。

更为高级的方式还包括 本地化(缩写为 l10n)。在本地化阶段,应用程序被调整为支持特定的文化、语言和本地习惯。这个过程涉及到本地语言的翻译;日期、数值和货币符号的正确设置;排序规则等。

本文展示了 PHP V5.3 的新特性,有助于提高您在 PHP 内创建国际化了的应用程序的能力。本文不会解决全部的本地化问题 — 尤其是对于翻译;这类任务可由额外的 PHP 库,比如 GNU gettext,进行很好地处理
 

PHP 中的 Unicode 支持

一个被恰当国际化了的应用程序应能处理在不同的编写系统内写入的数据。英语及在西欧使用的其他语言都是以拉丁文字为基础,并且只使用拉丁字符 — 有时还会附加上重音符号(变音符号)。如果往东走,会遇到西里尔字母、希伯来和中东的阿拉伯语系,以及印度语。然后是中文、日文及十几种其他的东方语系。大多数常用的字符系统均包括在 Unicode 字符集。

不过,Unicode 字符还是很抽象。当存储在内存或磁盘或是在网络上传输时,计算机系统必须对 Unicode 字符进行编码。有几种编码可用于 Unicode:最为常用的两个是 UTF-8 和 UTF-16。现代的开发环境,比如 Java™ 技术和 Microsoft® .NET Framework 使用 Unicode 并具备针对 Unicode 字符和字符串的数据类型。因而,处理使用 Unicode 字符的文本对于开发人员也变得完全透明了。库函数负责正确处理所有输入和输出(UI、HTML 表单、数据库、XML)并在需要时将其转换成用来表示 Unicode 字符串的内部编码。

遗憾的是,PHP 语言仍缺少适当的 Unicode 支持。虽然自 2001 年,核心 PHP 开发人员一直都在尝试将 Unicode 支持添加到 PHP 内,但即便 PHP V5.3,也仍未包括此项支持。不过,在下一个主要的发布版内有望加入该支持 — 即 PHP V6 。

相关内容
赞助商链接