您好,我已经看到这个问题是围绕陷阱提出的,但是到目前为止,当我尝试使用它们时,我看到的所有示例都没有帮助我。我收到错误 “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;
}
关于php - iconv() : Detected an incomplete multibyte character in input string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26092388/