>  기사  >  백엔드 개발  >  PHP에서 읽은 txt가 깨졌을 경우 어떻게 해야 합니까?

PHP에서 읽은 txt가 깨졌을 경우 어떻게 해야 합니까?

藏色散人
藏色散人원래의
2020-07-13 10:09:403482검색

PHP에서 읽은 잘못된 txt에 대한 해결책: 먼저 "file_get_contents" 함수를 사용하여 전체 파일을 문자열로 읽은 다음 파일의 인코딩 방법을 가져온 다음 마지막으로 iconv를 사용합니다. "$ 인코딩"을 "UTF-8"로 변환합니다.

PHP에서 읽은 txt가 깨졌을 경우 어떻게 해야 합니까?

PHP에서 TXT 중국어 잘못된 문자를 읽는 솔루션

코드는 다음과 같습니다.

  //$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;
                  }
              }
          }
      }

더 많은 관련 지식을 보려면 PHP 중국어 웹사이트를 방문하세요!

위 내용은 PHP에서 읽은 txt가 깨졌을 경우 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.