Re: [請益] 有關utf8編碼以及.dat檔的問題

看板PHP作者 (艾美戴)時間10年前 (2013/10/07 09:46), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《goodice (艾美戴)》之銘言: : 各位前輩好,大學時有短暫接觸過php語法,但退伍後就忘得差不多了。 : 最近接到上司的一項任務,要我負責把公司某些網頁從big5碼改成utf8碼。 : 有幾個網頁我已經用以下幾個方法轉換成功了 : 1.<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> : 2.iconv("big5", "UTF-8", $str) : 3.用Notepad++另存檔案為utf8(檔首無BOM) : 但唯獨有一個網頁,用以上三種方法都無法成功 : 單獨用第3種方法會顯示空白 : 當用第1與第3種方法,網頁會預設成utf8碼沒錯,但就變成亂碼了,除非改回big5 : 而1、2、3種方法一起用時則會顯示某某行錯誤(無法讀出.dat檔) : 被指示錯誤的程式碼(1、2、3種方法一起用時才會出現): : 1.$lines=file("data/".$number.".dat"); : list($index,$type,$name,$content,$file,$web,$TimeStr,$writer,$mail,$ip)=explode(" : ∥",$lines[0]); : 2.<?=$variety->$type;?> : 我們網頁主要是用於公告欄,公告欄的文件資料是從另外一個網頁讀取的 : 在那網頁只要輸入主旨、日期、單位並上傳檔案按下確認就可存成.dat檔供別頁讀取了 : 懇請各位高手指點小弟問題何在,我被這問題困擾許久,感謝各位! 各位前輩好,小弟我有試著把.dat檔用Notaped++全部轉成utf-8碼了,但還是出現錯誤 且不管用上述任三種方法搭配都還是一樣出現錯誤;以下是錯誤的內容 Warning: file(data/374.dat) [function.file]: failed to open stream: Permission denied in /hd2/.XDATA/home/admin/_www_/bulletin/index.php on line 85 Fatal error: Cannot access empty property in /hd2/.XDATA/home/admin/_www_/bulletin/index.php on line 99 while( $i<$count && ( $j<$onepage || $_GET['which']==all) ) { list($number,$who)=explode("∥",$line[$i]); $lines=file("data/".$number.".dat");//85錯誤 list($index,$type,$name,$content,$file,$web,$TimeStr,$writer,$mail,$ip)=explode(" ∥",$lines[0]); if( ($kind==''&&$search=='') || ($kind==$type&&($search==''||stristr($name,$search)||stristr($content,$search))) || ($kind==''&&$search!=''&&(stristr($name,$search)||stristr($content,$search))) ) { ?> <div class="column10"> &nbsp; </div> <div class="txt121"> <?=$TimeStr;?> </div> <div class="txt122"> <?=$variety->$type;?>//99錯誤 P.S.374.dat檔我有確實把它轉成utf8檔了,甚至是把374.dat取出,但結果還是一樣 請各位前輩指點一下問題何在,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.250.8.88

10/07 10:07, , 1F
permission denied 是指檔案權限 跟內容沒關係
10/07 10:07, 1F

10/07 10:08, , 2F
檢查一下那個檔案能不能被伺服器讀(寫)吧
10/07 10:08, 2F

10/09 18:31, , 3F
開頭都說:Permission denied ,你底下還能做啥?
10/09 18:31, 3F
文章代碼(AID): #1IKXA08g (PHP)
文章代碼(AID): #1IKXA08g (PHP)