Die Lösung für das Problem, dass PHP verstümmelte TXT-Dateien liest: Verwenden Sie zuerst die Funktion „file_get_contents“, um die gesamte Datei in einen String einzulesen. Öffnen Sie dann die Datei -only-Modus; schließlich kann iconv „$encoding“ in „UTF-8“ konvertieren.
Lösung für PHP, die verstümmelte chinesische TXT-Zeichen liest
Der Code lautet wie folgt:
//$fname文件名称 if ($fname = $_FILES['nickname']['tmp_name']) { //file_get_contents() 函数把整个文件读入一个字符串中。 $contents = file_get_contents($fname); //获取文件的编码方式 $encoding = mb_detect_encoding($contents, array('GB2312','GBK','UTF-16','UCS-2','UTF-8','BIG5','ASCII')); $fp=fopen($fname,"r");//以只读的方式打开文件 $text = ""; $num = 0; if(!(feof($fp))) { $num++; $str = trim(fgets($fp)); if ($encoding != false) { //iconv ()将$encoding 转换成“UTF-8” $str = iconv($encoding, 'UTF-8', $str); if ($str != "" and $str != NULL) { $text = $str; } } else { $str = mb_convert_encoding ( $str, 'UTF-8','Unicode'); if ($str != "" and $str != NULL) { $text = $str; } } } while(!(feof($fp))) { $str = ''; $str = trim(fgets($fp)); if ($encoding != false) { $str = iconv($encoding, 'UTF-8', $str); if ($str != "" and $str != NULL) { $text = $text.",".$str; } } else { $str = mb_convert_encoding ( $str, 'UTF-8','Unicode'); if ($str != "" and $str != NULL) { $text = $text.",".$str; } } } }
Aktualisiert Weitere Informationen zu diesem Thema finden Sie auf der PHP-Website für Chinesisch!
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn der von PHP gelesene Text verstümmelt ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!