我有一些这样的文件
$enclist = mb_list_encodings();
$encode = mb_detect_encoding($str, $enclist);
检测到它们的编码是ISO-8859-1,但是当我想通过iconv将它们转换为utf-8时,转换后的字符串是错误的并且不是人类可读的,我使用这种方式转换
$str = iconv($encode, 'UTF-8', $str);
所以我猜测检测到的编码是错误的,然后我尝试了这个:
foreach ($enclist as $item) {
$rowStr = mb_convert_encoding($str, 'UTF-8', $item);
echo $item .'<br />';
echo substr($rowStr, 0, 100) .'<br />';
}
但没有编码的行不是正确的文本(文件可以在我的窗口中正确加入,而记事本++显示ANSI用于编码)