[請益] 奇怪的Big5跟utf8問題

看板PHP作者 (大招出盡)時間18年前 (2007/11/29 23:40), 編輯推噓6(6019)
留言25則, 4人參與, 最新討論串1/2 (看更多)
之前寫的php網頁,在顯示上是用big-5 ,不過寫入的MYSQL資料庫 的儲存方式卻是UTF-8(汗) ,結果變成在MySQL Query Browser或 phpmyadmin中瀏覽資料時,看到的是亂碼,但是在網頁以BIG-5方式瀏覽時,那 些資料的部份是正常顯示的(這部份我的理解是,寫入的資料以BIG-5 的文字格式,存入了用UTF-8儲存的資料庫)。 現在我已經把網頁的原始碼部份都改好成utf-8編碼了,但資料庫中的部 份不曉得該怎麼轉換(軟體或是方法),所以如果瀏覽器用utf-8看網頁 時,網頁中寫死的文字會是正常的,但從資料庫中抓出來的部份則是亂碼 ;反過來用big-5瀏覽的話,就是寫死的文字變亂碼、資料庫的部份是正 常的。想請問一下我該怎麼做才能解決這個問題呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.194.216

11/30 00:37, , 1F
把資料庫裡面的資料全部轉編碼 轉成utf-8
11/30 00:37, 1F

11/30 00:38, , 2F
再重新塞進資料庫
11/30 00:38, 2F


11/30 00:40, , 5F
phpmyadmin設utf-8 只是你瀏覽的時候用utf8 步代表你存utf
11/30 00:40, 5F

11/30 00:42, , 6F
依你的說法 你現在資料庫裡面應該是big5
11/30 00:42, 6F

11/30 00:42, , 7F
所以你抓出來 用utf8看當然亂碼 反之 正常
11/30 00:42, 7F

11/30 00:52, , 8F
所以意思是說,我現在要寫個網頁把所有資料庫裡的東西都先抓
11/30 00:52, 8F

11/30 00:52, , 9F
出來用iconv轉好後再存回去囉?
11/30 00:52, 9F

11/30 01:02, , 10F
抓出來倒不必寫程式 phpMyAdmin有匯出&匯入的功能
11/30 01:02, 10F

11/30 01:03, , 11F
你甚至可以匯出後用轉碼程式轉好再匯入
11/30 01:03, 11F

11/30 01:04, , 12F
我有用匯出再用CONVERTZ看過,但怎麼轉就是沒辦法在convertz
11/30 01:04, 12F

11/30 01:05, , 13F
的預覽中正確瀏覽那些資料,所以搞不太懂到底裡面存的是啥= =
11/30 01:05, 13F

11/30 01:06, , 14F
因為裡面存的似乎是「被當做UTF8存起來的BIG5字」= =a
11/30 01:06, 14F

11/30 01:14, , 15F
還有我連在phpmyadmin的操作介面的網頁下,在有顯示資料的時
11/30 01:14, 15F

11/30 01:14, , 16F
候,把瀏覽器的編碼改成BIG5,那些東西還是亂碼= =a 目前就只
11/30 01:14, 16F

11/30 01:15, , 17F
有php網頁把它抓出來後用big5方式顯示才是正常的 一整個怪啊
11/30 01:15, 17F

11/30 01:50, , 18F
順便請問一下怎麼在PHP中讓寫入資料庫的字串確定是UTF8編碼?
11/30 01:50, 18F

11/30 02:33, , 19F
不管怎樣 先試試iconv吧 又不難
11/30 02:33, 19F

11/30 03:37, , 20F
嗯嗯 那想問一下有什麼語法可以快速地讀出資料庫編好後再寫
11/30 03:37, 20F

11/30 03:38, , 21F
回去啊? 謝謝
11/30 03:38, 21F

11/30 03:38, , 22F
目前只想到對每一個TABLE各寫一個網頁來改= =a
11/30 03:38, 22F

11/30 05:36, , 23F
mysqldump出來轉好塞回去收工
11/30 05:36, 23F

11/30 05:37, , 24F
前面LPH66不是也說了嗎...
11/30 05:37, 24F

11/30 07:03, , 25F
喔喔 也對 可以一次丟出來轉好= =a 哈哈(汗)
11/30 07:03, 25F
文章代碼(AID): #17JjrbO7 (PHP)
文章代碼(AID): #17JjrbO7 (PHP)