2009-05-01 78 views

回答

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

+0

其实你不应该编码/解码任何东西。在整个应用程序中使用相同的字符集会更好。你只需要选择具有unicode容量的东西(比如UTF-8) – troelskn 2009-05-01 15:14:59

1

一个PHP 6的主要功能将支持Unicode的紧密集成工作的一个非常好的资源。

在PHP 5 由于PHP字符串是面向字节的实施UTF-8,为Unicode文本的唯一实际的编码方案是UTF-8。

  • 在UTF-8
  • 转换PHP脚本UTF-8
  • 转换的网站内容,后端数据库等呈现HTML网页:招数[从PHP建筑师杂志明白了] UTF-8
  • 确保没有PHP函数破坏UTF-8文本

退房http://www.gravitonic.com/talks/
PHP UTF-8作弊Sheet

0

PHP大多不了解chrase并将字符串视为字节流。这确实不是什么大问题,但你必须自己做一些工作。

一般的经验法则是,你应该在任何地方使用相同的字符集。如果你在任何地方都使用UTF-8,那么你在那里99%。只要确保你不混合字符集,因为那样会变得非常复杂。唯一不能正确处理UTF-8的是字符串操作,它需要在字符级别上操作。例如。 strlensubstr等。您应该使用支持UTF-8的版本来代替这些版本。 multibyte-string extension只是给你。

有关的,你需要确保字符集设置正确的地方的清单,看看:

http://developer.loftdigital.com/blog/php-utf-8-cheatsheet

欲了解更多信息,请看:

http://www.phpwact.org/php/i18n/utf-8

相关问题