Heim > Backend-Entwicklung > PHP-Problem > 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?

藏色散人
Freigeben: 2023-03-02 13:12:02
Original
3627 Leute haben es durchsucht

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;
                  }
              }
          }
      }
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage