iconv():检测到输入字符串中不完整的多字节字符

时间:2014-09-29 04:06:10

标签: php utf-8

嗨我在陷阱周围看到了这个问题,但到目前为止,当我尝试时,我见过的所有例子都没有帮助过我。我收到错误“iconv():在某些输入上检测到输入字符串”中的不完整多字节字符。何时一起使用以下功能。您对如何使此错误消息消失有任何想法吗?我试图将具有混合编码的输入字符串转换为UTF8。

    function ConvertToUTF8($text){
         return iconv(mb_detect_encoding($text, mb_detect_order(), false), "UTF-8//IGNORE", $text);
    }

编辑:大家好好看看下面为我们工作的人:

 function ConvertToUTF8($text){

    $encoding = mb_detect_encoding($text, mb_detect_order(), false);

    if($encoding == "UTF-8")
    {
        $text = mb_convert_encoding($text, 'UTF-8', 'UTF-8');    
    }


    $out = iconv(mb_detect_encoding($text, mb_detect_order(), false), "UTF-8//IGNORE", $text);


    return $out;
}

您可以改进它,但它修复了我们的错误。

2 个答案:

答案 0 :(得分:8)

好的,这就是对我们有用的东西。

function ConvertToUTF8($text){

    $encoding = mb_detect_encoding($text, mb_detect_order(), false);

    if($encoding == "UTF-8")
    {
        $text = mb_convert_encoding($text, 'UTF-8', 'UTF-8');    
    }


    $out = iconv(mb_detect_encoding($text, mb_detect_order(), false), "UTF-8//IGNORE", $text);


    return $out;
}

答案 1 :(得分:0)

你的mb_detect_encoding函数值中的

问题是由这个函数返回的数组。 单独使用它。