嗨,我看到过关于陷阱的问题,但到目前为止,当我尝试陷阱时,我看到的例子都没有帮助我。我收到错误"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;
}
mb_detect_encoding函数中的问题该函数返回的值为数组。单独使用。