【问题标题】:PHP how to know if multi-byte needs converstion?PHP如何知道多字节是否需要转换?
【发布时间】:2016-08-10 11:24:12
【问题描述】:

我的系统反应有问题,不知何故取决于它的心情。

有时返回 TÕNIS,有时返回 TÕNIS

并将结果连接到一个字符串,并在函数中与另一个字符串进行比较,因此数据是有效的。

这是有效的 TÕNIS 但不是 TÕNIS 的问题

为了解决这个问题我使用了这个函数

mb_convert_encoding('TÕNIS', 'Windows-1252', 'UTF-8');

它有效,但也有一个问题,因为有时响应是正确的 这个函数会将一个好的字母转换为�,这将变得无效。

有没有办法检查响应是显示为多字节还是纯字母?

请记住,这是有此问题的众多角色之一。

而且我无法控制我得到的响应。解决这个问题的唯一方法是我自己解决这个问题

【问题讨论】:

标签: php encoding multibyte


【解决方案1】:

所以经过长时间的搜索和反复试验

    $result = mb_convert_encoding($string, 'Windows-1252', 'UTF-8');
    if(mb_check_encoding($result)){
        return $result;
    }else{
        return $string;
    }

在您对 TÕNIS 进行编码后,它会破坏字符串上的编码 虽然 TÕNIS 将正确转换为 TÕNIS 并且编码将有效

【讨论】:

    猜你喜欢
    • 2010-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-01
    相关资源
    最近更新 更多