Re: [請益] 編碼錯誤讀取出"?????"

看板PHP作者 (納格髓)時間16年前 (2009/11/21 23:44), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《LFking (小均)》之銘言: : 環境 : appserv (mysql5 php5 phpmyadmin) : table用utf-8校對 但是 php寫入是big5 : 於是讀出來的資料都是 "??????" 瀏覽器不管用big5 or utf-8都無法改善 : 有辦法挽回資料嗎? : 如果op還說聲抱歉 : 謝謝! 首先... 你得先確定你的 PHP 是用哪一個編碼寫的。 如果是用 BIG5 的,就我的經驗,在寫入的時候就會被校對改成"?", 那就沒救了,因為實際的資料沒有被記入。 有一種檢查的方式,用phpMyAdmin之類的軟體開資料庫, 如果修改瀏覽器的「網頁編碼」,還可以看到原來的中文字。 那就有希望救得回來。 另外提一下,如果是 PHP => MySQL 5,用 utf8的話, 建議在連線資料庫後,先跑一行 SET NAMES 'UTF8' (如: mysql_query("SET NAMES 'UTF8'"); ) 這樣就設定兩者溝通用的編碼,就不會有編碼的問題。 預設是走 latin1 的編碼(西歐語系)。 有看過其它的解決方式,不過我覺得這是最簡單, 也不用擔心改不到設定檔問題的方式。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.92.131

11/22 00:14, , 1F
感謝回文, 但想必是沒辦法了~_~
11/22 00:14, 1F

11/22 00:15, , 2F
雖然php用utf8 但沒有set names..修改網頁編碼也都是"??"
11/22 00:15, 2F
文章代碼(AID): #1B20hp9x (PHP)
討論串 (同標題文章)
文章代碼(AID): #1B20hp9x (PHP)