【问题标题】:unicode in phpphp中的unicode
【发布时间】:2010-10-28 05:44:32
【问题描述】:

我之前读过 Spolsky 关于字符编码的文章,以及this from dive into python 3。我知道 php 在某些时候会使用 Unicode,但我无法理解为什么这很重要。

如果正在使用 php-CLI,那是有道理的。但是,在 Web 服务器世界中,浏览器是否可以获取该整数并将其转换为字符(基于字符编码)。

我没有得到什么?

【问题讨论】:

    标签: php unicode ascii


    【解决方案1】:

    PHP 确实“支持”UTF8,请查看 mbstring1 扩展名。大部分问题来自 PHP 开发人员,他们在处理 UTF8 数据时不使用 mb* 函数。

    UTF8 字符通常不止一个字符,因此您需要使用能够理解这一事实的函数,例如 mb_strpos2 而不是 strpos3

    如果您从浏览器获取 UTF8 -> 放入数据库 -> 将其取出 -> 将其显示给用户,则它工作正常。如果您正在做更多涉及 UTF8 数据(或实际上任何主要文本处理)的事情,您可能应该考虑使用替代语言。

    【讨论】:

      【解决方案2】:

      PHP 字符串函数通常将字符串视为 8 字节字符序列。我在通过字符串函数时遇到了各种各样的中文文本问题。例如,substr() 可以将一个多字节字符切成两半,这会给 XML 解析器带来各种问题。

      【讨论】:

        【解决方案3】:

        嗯,一方面你需要以某种方式生成浏览器显示的字符串:-)

        【讨论】:

        • 是的,字符串是不可变的字节数组。如果没有某种编码方案,实际上毫无意义。需要详细说明吗?
        • 没错。如果字符串操作函数不知道编码方案的句柄,它们应该如何正常工作?
        • 啊啊啊啊啊啊啊啊啊啊
        【解决方案4】:

        关于 Unicode 和 Web here. 有一个很棒的常见问题解答部分,看看它是否回答了您的一些问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-03-09
          • 2011-06-28
          • 2011-01-14
          • 2013-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-04-25
          相关资源
          最近更新 更多