溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決php讀取txt是亂碼的問題

發(fā)布時間:2020-07-15 16:00:06 來源:億速云 閱讀:420 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關如何解決php讀取txt是亂碼的問題,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據(jù)這篇文章可以有所收獲。

php讀取txt是亂碼的解決辦法:首先使用“file_get_contents”函數(shù)把整個文件讀入一個字符串中;然后獲取文件的編碼方式;接著以只讀的方式打開文件;最后使用iconv將“$encoding”轉換成“UTF-8”即可。

PHP讀取TXT中文亂碼的解決方法

代碼如下:

  //$fname文件名稱
   if ($fname = $_FILES['nickname']['tmp_name']) {
 
          //file_get_contents() 函數(shù)把整個文件讀入一個字符串中。
          $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;
                  }
              }
          }
      }

看完上述內容,你們對如何解決php讀取txt是亂碼的問題有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI