Re: [請益] 網頁改UTF8 MYSQL改UTF8卻亂碼 (附圖)

看板PHP作者 (霸格尼尼)時間15年前 (2010/10/09 14:20), 編輯推噓5(5015)
留言20則, 3人參與, 最新討論串2/6 (看更多)
※ 引述《kingmin (高手)》之銘言: : 這是我的phpMyAdmin畫面 : http://img543.imageshack.us/img543/5405/20101009120719.jpg
: 這是我的資料表 : http://img269.imageshack.us/img269/3784/20101009120743.jpg
: 這是我的資料表裡的結構 : http://img704.imageshack.us/img704/3241/20101009120809.jpg
: 我PHP已全部改成utf8並設定無BOM : PHP裡面也有加入了mysql_query("SET NAMES 'utf8'"); : 請問現在PHP從 因該是BIG5的 MYSQL裡取出的資料會變成亂碼 應 那怎麼charset/collation全都是utf-8 ? : 不過我測試 : INSERT INTO `search` (`ip` ,`name` ,`time` ,`code` )VALUES ('127.0.0.1', : 'Guest' , 1286598087 , '中文測是' ); : 從phpMyAdmin裡看到的是中文 : 所以顯示出網頁也是中文沒問題 : 請問如果我想把資料庫改用UTF8 (A) 如果你用phpmyadmin看資料庫內容都正確的話 沒意外的話應該本來就是囉 : 並且用CurlRequest從外部更新資料庫的資料 : 可是資料庫裡中文都不見了 變成是空的 : 如果PHP裡面改成mysql_query("SET NAMES 'big5'"); : 在從外部更新資料庫的資料 在從phpMyAdmin裡看到的就是中文 這樣看起來是資料庫存UTF-8, 網頁用Big5 : 不過PHP上看到的就變成亂碼了??? : 請問如何設定才能存入資料是BIG5 取出資料是UTF8 有這個必要嗎? 為什麼還要用Big5 ? 除非你的資料庫要跟別人的程式共用 如果是這樣的話那之後再說 可是怎麼跟(A)那邊的說法不同?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.231.23 ※ 編輯: buganini 來自: 220.135.231.23 (10/09 14:22)

10/09 14:23, , 1F
還是我誤解你的語意了XD
10/09 14:23, 1F

10/09 14:27, , 2F
所以你究竟是資料庫/網頁要用什麼編碼呢?
10/09 14:27, 2F
※ 編輯: buganini 來自: 220.135.231.23 (10/09 14:29)

10/09 16:12, , 3F
我如果可以當然想把資料庫/網頁都是UFT8
10/09 16:12, 3F

10/09 16:14, , 4F
我目前網頁已經都是UTF8因該是沒問題的
10/09 16:14, 4F

10/09 16:15, , 5F
只是我PHP用CurlRequest從外部更新資料庫的資料
10/09 16:15, 5F

10/09 16:16, , 6F
他沒辦法存成UTF8 難道只能存成BIG5
10/09 16:16, 6F

10/09 16:16, , 7F
還是說哪裡沒設定到呢???
10/09 16:16, 7F

10/09 18:04, , 8F
SET NAMES 最好跟著connect之後喔
10/09 18:04, 8F

10/09 18:05, , 9F
我覺得應該是你的架構或是CurlRequest有問題
10/09 18:05, 9F

10/09 18:05, , 10F
有地方把MySQL reconnect卻沒有SET NAMES
10/09 18:05, 10F

10/09 18:06, , 11F
另外去phpMyAdmin首頁-資訊 確認所有character都utf8
10/09 18:06, 11F

10/09 19:24, , 12F
所有都設UTF8 且SET NAMES 也是跟著connect之後 還是不行.
10/09 19:24, 12F

10/09 19:26, , 13F
用CurlRequest取得的資料 echo()輸出都是一樣的內容
10/09 19:26, 13F

10/09 19:27, , 14F
不過SET NAMES UTF8時 用phpMyAdmin看是沒有內容
10/09 19:27, 14F

10/09 19:28, , 15F
不過SET NAMES big5時 用phpMyAdmin看內容是中文 沒有亂碼
10/09 19:28, 15F

10/09 23:45, , 16F
你確定不是CurlRequest的問題?
10/09 23:45, 16F

10/10 16:21, , 17F
看起來是你curlrequest送進去的資料是big5
10/10 16:21, 17F

10/10 16:27, , 18F
"echo()輸出都是一樣的內容" 這句我看不懂
10/10 16:27, 18F

10/10 16:28, , 19F
是說跟你直接去看得一樣? 那你確定編碼是utf-8嗎?
10/10 16:28, 19F

10/10 20:44, , 20F
echo()輸出 就是從網頁上看到的內容是一模一樣的
10/10 20:44, 20F
文章代碼(AID): #1Ci0ci80 (PHP)
討論串 (同標題文章)
文章代碼(AID): #1Ci0ci80 (PHP)