Re: [請益] 網頁改UTF8 MYSQL改UTF8卻亂碼 (附圖)
※ 引述《kingmin (高手)》之銘言:
: ※ 引述《buganini (霸格尼尼)》之銘言:
: : 如果你用phpmyadmin看資料庫內容都正確的話
: : 沒意外的話應該本來就是囉
: : 這樣看起來是資料庫存UTF-8, 網頁用Big5
推
10/09 23:45,
10/09 23:45
: 這CURL應該跟網路上找的道程式碼的差不多
: class CurlRequest{
: // .... 略 ....
: "Accept: */*",
: "Accept-Language: ru-ru,ru;q=0.7,en-us;q=0.5,en;q=0.3",
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^.... (A)
: "Accept-Charset: UTF-8,windows-1251;q=0.7,*;q=0.7",
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .... (B)
: "Keep-Alive: 300");
我的看法和 S大一樣,如果資料庫設定都沒問題,
那可能資料源(CurlRequest)有問題。
(A) 的部分可能跟目前的問題比較無關,我只是好奇為啥你要設定 ru (俄文?)
(B) 的部分關聯性大一點,curl我不熟但看到這行我有個疑問:你確定抓到的資料是
UTF-8 的編碼而不是 Big5 的編碼? 非 UTF-8 的資料不會被過濾掉?
x x x
你寫的程式在資料處理流程上應該可以分成三個階段
[資料源(其他網頁)] ==> [PHP程式(CurlRequest)] ==> [資料庫(mysql_insert)]
你之前幾篇文章檢查的好像只有後面兩個階段,也就是只有確認自己寫的 PHP是用
UTF-8 編碼、與資料庫間的通訊用 UTF-8、以及與資料庫儲存資料的格式是UTF-8
如果這部分你確定都是正確的,那兇手可能在前一站:資料源的擷取
如果資料源是 big5 之類的,往後的流程中除非你有明確轉換編碼,不然那些資料
不會自己變成 utf8。我想你可以試試看先判定資料源是否是為 utf8,如果不是的
話,可以用 iconv 之類的涵式轉換編碼
good luck
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.255.7.86
→
10/10 16:29, , 1F
10/10 16:29, 1F
→
10/10 20:45, , 2F
10/10 20:45, 2F
→
10/10 20:46, , 3F
10/10 20:46, 3F
推
10/10 23:22, , 4F
10/10 23:22, 4F
→
10/10 23:23, , 5F
10/10 23:23, 5F
推
10/11 22:43, , 6F
10/11 22:43, 6F
→
10/11 22:44, , 7F
10/11 22:44, 7F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 4 之 6 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章