嗨我在陷阱周围看到了这个问题,但到目前为止,当我尝试时,我见过的所有例子都没有帮助过我。我收到错误“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;
}
您可以改进它,但它修复了我们的错误。
答案 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)
问题是由这个函数返回的数组。 单独使用它。