我听说PHP对Unicode的支持非常差。
那么,要使PHP 5.3+支持PHP 5构建的应用程序Unicode怎么办?
mbstring是这里唯一的选择吗?
Facebook或Yahoo如何克服这个PHP限制?
最佳答案
PHP不对任何编码提供低级支持。但这实际上意味着,它不在语言级别上起作用。 PHP中的字符串是原始字节序列,可以采用您喜欢的任何编码。处理多字节字符串时,需要注意使用正确的字符串操作功能,而不是直接拧入字节流。因此,Unicode的唯一“不支持”是它不包含编码到核心语言本身的概念,但是您仍然可以通过使用适当的字符串函数来处理字符串,从而完美地处理任何编码。
实际上,如果您只是一点点地将所有内容始终保留在UTF-8中,则几乎不必担心与编码有关的任何事情。 PHP与Unicode配合良好。
有关此主题的更多信息,请参见What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text。