+ -
当前位置:首页 → 问答吧 → 【书评】国际化的PHP

【书评】国际化的PHP

时间:2009-05-25

来源:互联网

本帖最后由 liexusong 于 2009-5-25 11:30 编辑

这一章是本书新增的章节,主要介绍PHP的新增功能unicode。

相信大家都用过strlen()函数了,那么大家也应该知道:

<?php
echo strlen("你好中国!");
?>

假如是没有用过PHP的人可能以为是5,但是答案令人非常失望,因为输出竟然是10(假如是utf-8编码的是15)。为什么这样呢?因为PHP6以前是以字节作为单位的,而一个中文(gb2312编码)是由2个字节组成的(utf-8为3个字节),所以才会出现以上的问题。但是这显然不是我们想要的结果,虽然可以使用mb_x()类的函数来实现多字节处理,但是有时候这个扩展并不是都打开的。


所以PHP6解决了这样的问题,你输入上面的代码,将会看见你希望的结果5.这就是unicode的作用了。另外unicode也帮我们解决了我们多年来的痛,就是substr()函数。在PHP不支持unicode的时候,你用substr()截取中文可能会出现乱码:

<?php
echo substr("你好中国!", 1, 3);
?>

原理跟上面的一样,就是截取的时候以字节为单位。纵使有一些解决方法,但是都不能完美解决!而支持unicode之后,你就可以放下多年来的包袱了!!


本章主要介绍了使用gettext扩展来创建一个国际化的网站,对于gettext这个扩展我本人没有测试过,但是看本章的介绍,觉得功能非常强大。因为他可以把很多不同国家的文字翻译成另外一个国家的文字,而且速度应该比我们自己做的词库快很多,因为这个扩展是用C语言写的。缺点就是要手动配置PHP,对于初学者有点难度!而国际化是当今web应用的趋势,所以创建国际化的网站是web程序员的必懂技术之一。


这本书非常适合初学者阅读,因为本书内容通俗易懂,而且内容比较全面。但是本书跟第二版的变化不大,所以买了第二版的同学可以省下了!不过还没有买过的话,就一定要买本来读读!因为本书当中有很多知识值得我们去研究和学习的!


另外,本书还新增了zendframework的介绍。本人用过zendframework,觉得他功能强大,是一个很值得去学习的框架,在zendframework中,你会接触到很多设计模式,假如学过Java的话,你会很快喜欢上他的!想深入学习zendframework的话,可以参考《PHP Web2.0开发实战》。

作者: liexusong   发布时间: 2009-05-25

作者: liexusong   发布时间: 2009-05-25

解决了就好了啦。

作者: flyhacker   发布时间: 2009-07-13

不错,值得一看

作者: lymzyc   发布时间: 2009-07-19

意犹未尽,在多多写写就更好了

作者: xaodsein   发布时间: 2009-08-22