我的下一个Web应用程序项目将广泛使用Unicode。我通常使用PHP和CodeIgniter,但Unicode不是PHP的优点之一。
有没有可以帮助我在PHP中使用Unicode的PHP工具?
或者我应该借此机会研究Python等替代方案吗?
答案 0 :(得分:4)
一旦确保在进入和退出时进行编码和解码,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中工作的非常好的资源
答案 1 :(得分:1)
PHP 6的一个主要功能将与UNICODE支持紧密集成。
在PHP 5中实现UTF-8。 由于PHP字符串是面向字节的,因此Unicode文本唯一实用的编码方案是UTF-8。技巧[来自PHp Architect杂志]:
查看http://www.gravitonic.com/talks/
PHP UTF 8作弊Sheet
答案 2 :(得分:0)
PHP主要不知道chrasets并将字符串视为字节流。这真的不是什么问题,但你必须自己做一些工作。
一般的经验法则是你应该到处使用相同的字符集。如果你到处都使用UTF-8,那么你就是99%。只要确保你没有混合字符集,因为它变得非常复杂。唯一不能正确使用UTF-8的是字符串操作,它需要在字符级别上操作。例如。 strlen
,substr
等。您应该使用支持UTF-8的版本来代替这些版本。 multibyte-string extension为您提供了这一点。
有关您需要确保字符集设置正确的地方的清单,请查看:
http://developer.loftdigital.com/blog/php-utf-8-cheatsheet
有关详细信息,请查看: