php opendir亂碼的解決方法:1、開啟對應的PHP程式碼檔案;2、在輸出前執行「$value=iconv("UTF-8","gb2312",$value);」語句;3、將所有文件編碼都統一為UTF-8或gb2312即可。
本文操作環境:windows7系統、PHP7.1版、DELL G3電腦
如何解決php opendir亂碼問題?
php讀取中文目錄亂碼的解決方案
前不久就有個專案涉及到使用php 讀取檔案目錄,讀取檔案目錄這個本身沒什麼問題,但讀取的時候遇到中文目錄竟然發生亂碼了,一時不知道怎麼辦了,很久沒有碰到這種問題了,研究了一番,得出幾種解決辦法,現列舉一下(將使用php 讀取檔案目錄的方法也一併附上):
<?php //要读取的目录 $folder="D:/www"; //打开目录 $fp=opendir($folder); //阅读目录 while(false!=$file=readdir($fp)){ //列出所有文件并去掉'.'和'..' if($file!='.' &&$file!='..'){ //$file="$folder/$file"; $file="$file"; //赋值给数组 $arr_file[]=$file; } } //输出结果 if(is_array($arr_file)){ while(list($key,$value)=each($arr_file)){ echo "$key=>$value<br>"; } } //关闭目录 closedir($fp); ?>
(1)在輸出前做一個轉換,加上如下程式碼:
$value = iconv("UTF-8","gb2312",$value); //或者 iconv("gb2312","UTF-8",$value);
(2)所有檔案編碼都統一為UTF-8 或gb2312
推薦學習:《PHP影片教學》
以上是如何解決php opendir亂碼問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!