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