【问题标题】:How to convert multi-byte punctuations to single byte ones with PHP?如何使用 PHP 将多字节标点符号转换为单字节标点符号?
【发布时间】:2010-11-29 23:27:34
【问题描述】:

例如 , 和 , 都是逗号,但第一个占2个字节,第二个只占1个。

如何将 2 byte 转换为 1 byte?

【问题讨论】:

    标签: php multibyte punctuation


    【解决方案1】:

    您可以将 iconv 与 translit 选项一起使用(例如,ASCII/TRANSLITISO-8859-1//TRANSLIT 等,具体取决于您提供内容的方式)。我还没有尝试过,但我相信它会起作用。

    如果您不确定传入的字符集是什么,您可能想要使用mb_detect_encoding 来检测它,因为iconv 会在遇到意外的字符时吓坏。

    如果您不熟悉字符集,不妨阅读 The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets 以轻松了解该主题。

    【讨论】:

    • 重读我的帖子和手册页。您必须确保指定正确的输入编码,并执行 ASCII/**translit**。
    【解决方案2】:

    iconv() 与正确的输入和输出字符集一起使用。

    【讨论】:

      猜你喜欢
      • 2011-10-21
      • 1970-01-01
      • 2017-10-01
      • 2015-01-12
      • 1970-01-01
      • 1970-01-01
      • 2018-04-07
      • 1970-01-01
      • 2023-01-29
      相关资源
      最近更新 更多