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

God*_*You 9 php utf-8

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

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

编辑:大家好好看了下面为我们工作的以下内容:

 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;
}
Run Code Online (Sandbox Code Playgroud)

您可能能够改进它,但它修复了我们的错误.

God*_*You 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;
}
Run Code Online (Sandbox Code Playgroud)