我的下一个Web应用程序项目将广泛使用Unicode。我通常使用PHP和CodeIgniter,但是Unicode不是PHP的强项之一。是否可以编写一个使用Unicode的优秀PHP应用程序?
有没有一个PHP工具可以帮助我在PHP中很好的使用Unicode?
或者我应该借此机会研究诸如Python之类的替代方案吗?
我的下一个Web应用程序项目将广泛使用Unicode。我通常使用PHP和CodeIgniter,但是Unicode不是PHP的强项之一。是否可以编写一个使用Unicode的优秀PHP应用程序?
有没有一个PHP工具可以帮助我在PHP中很好的使用Unicode?
或者我应该借此机会研究诸如Python之类的替代方案吗?
一旦你确定在进入和退出时编码和解码,PHP可以处理unicode罚款。如果要存储在数据库中,请确保html页面,Web服务器,编辑器和数据库之间的语言编码和字符集映射匹配。
如果整个应用程序在任何地方都使用UTF-8,则不需要解码。唯一需要解码的时间是当您在另一个不在Web上的字符集中输出数据时。输出html时,可以使用
htmlentities($var, ENT_QUOTES, 'UTF-8');
以获得正确的输出。标准函数在大多数情况下会破坏字符串。邮件功能也一样。
http://developer.loftdigital.com/blog/php-utf-8-cheatsheet是在UTF-8
一个PHP 6的主要功能将支持Unicode的紧密集成工作的一个非常好的资源。
在PHP 5 由于PHP字符串是面向字节的实施UTF-8,为Unicode文本的唯一实际的编码方案是UTF-8。
退房http://www.gravitonic.com/talks/
PHP UTF-8作弊Sheet
PHP大多不了解chrase并将字符串视为字节流。这确实不是什么大问题,但你必须自己做一些工作。
一般的经验法则是,你应该在任何地方使用相同的字符集。如果你在任何地方都使用UTF-8,那么你在那里99%。只要确保你不混合字符集,因为那样会变得非常复杂。唯一不能正确处理UTF-8的是字符串操作,它需要在字符级别上操作。例如。 strlen
,substr
等。您应该使用支持UTF-8的版本来代替这些版本。 multibyte-string extension只是给你。
有关的,你需要确保字符集设置正确的地方的清单,看看:
http://developer.loftdigital.com/blog/php-utf-8-cheatsheet
欲了解更多信息,请看:
其实你不应该编码/解码任何东西。在整个应用程序中使用相同的字符集会更好。你只需要选择具有unicode容量的东西(比如UTF-8) – troelskn 2009-05-01 15:14:59