嗨,我在陷阱周围看到了这个问题,但到目前为止,我所看到的所有例子都没有帮助过我.我收到错误“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;
}



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

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



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;
}