【问题标题】:Convert Special Characters (other language) to English in PHP在 PHP 中将特殊字符(其他语言)转换为英文
【发布时间】:2011-01-22 15:29:09
【问题描述】:

是否有将特殊字符转换为英文等价物的功能。例如。将é转换为e。等等……

【问题讨论】:

    标签: php character


    【解决方案1】:

    您追求的功能是iconv() - 从用户注释来看,这似乎是您想要做的:characters transliteration

    【讨论】:

    • 当我使用 iconv('UTF-8', 'ISO-8859-1//TRANSLIT//IGNORE', $str);转换 João,它 returened Joo 我希望它返回 Joao...
    • 确保字符串是真正的 UTF-8。编码可能是它无法按预期工作的原因。
    • 难道没有一个脚本可以将所有内容(所有类型的格式)更改为简单的英语。我无法让代码工作:(
    • echo iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', "Jo\xc3\xa3o"); 请注意,我已将“ã”硬编码为 UTF-8 (0xc3a3),以确保编码正确。
    【解决方案2】:

    你应该使用这个,它会起作用的:

    setlocale(LC_CTYPE, 'nl_BE.utf8');
    $string = iconv('UTF-8', 'ASCII//TRANSLIT', $string);
    

    我已经测试了很多重音字符

    【讨论】:

      【解决方案3】:

      如果您不喜欢 danp 的解决方案 (iconv),您可以使用带有转换列表的 strtrThis page 有一个示例脚本(第一个 Google 结果)。

      【讨论】:

        【解决方案4】:

        如果 iconv() 不适合您,您可以创建一个包含要交换的字符数组并传递字符串的函数,然后将 ã 更改为这种方式。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-08-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-12-22
          • 1970-01-01
          • 2023-03-18
          • 1970-01-01
          相关资源
          最近更新 更多