Heim  >  Artikel  >  Backend-Entwicklung  >  Was soll ich tun, wenn der von PHP gelesene Text verstümmelt ist?

Was soll ich tun, wenn der von PHP gelesene Text verstümmelt ist?

藏色散人
藏色散人Original
2020-07-13 10:09:403482Durchsuche

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.

Was soll ich tun, wenn der von PHP gelesene Text verstümmelt ist?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn