[問題] 一個很簡單的資料庫亂碼常見問題 (解決了)

phpMyAdmin Running Discuss
關於 phpMyAdmin 架設使用操作討論,非本程式相關問題一律砍文!

版主: 版主管理群

回覆文章
頭像
kkt
竹貓忠實會員
竹貓忠實會員
文章: 625
註冊時間: 2005-06-15 01:37
來自: H.K.
聯繫:

[問題] 一個很簡單的資料庫亂碼常見問題 (解決了)

文章 kkt »

chiouss 大, 不好意思, 看來非要你這專家解答不可.. :oops: (當然更希望其他師長指導一下)

祇是一般的 MYSQL 亂碼, 如圖:

圖檔

架設環境: phpBB 2.0.22 utf-8
MYSQL 版本: 4.1.21-standard
測試連結: http://www.kkfriend.com/phpBB222/

情況: phpMyadmin 所有 table 檢視了連線校對為: utf8_general_ci 無誤.
所有文件編碼為 utf-8 無誤.
也試將所有文件編碼用 charset=iso-8859-1
又試過 SET NAMES utf8;
character set utf8 collate utf8_general_ci
CHARACTER SET=utf8;

=========


又把資料重灌, 反正可試的都試遍, 投降了..

反正發文在站上正常, phpbb_posts_text 的資料全亂碼.


可否指點其他可能性, 但竹貓有的我一般都有看了. 真疑惑喔.. :oops:


ps. 我另有其他的 big-5 及 utf-8 的都沒這麼怪的 ..
最後由 kkt 於 2007-05-01 01:01 編輯,總共編輯了 1 次。
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
頭像
狂暴戰龍
星球公民
星球公民
文章: 124
註冊時間: 2005-02-23 18:39

文章 狂暴戰龍 »

您也好像跟小弟一樣發生資料庫內容亂碼,前台內容卻正常的情形 :-o

小弟最近把系統轉成FreeBSD也發生這種事情

utf-8的資料庫內容用utf-8版的資料庫還原程式還原

結果前台看起來很正常...後台就跟您一樣全部亂碼 :oops:

用big5版本的還原程式,情況卻反了過來....

變成後台正常...前台亂碼

不知道要怎麼解決 囧....
●架設主機作業系統:Windows XP SP2
●快速架站程式:Appserv 2.5.4a
●上網方式:HINET ADSL 12M/1M
●phpBB2 版本:phpBB 2.0.22
●domain(網域名稱) :http://NiceBB.com
●phpBB2 連結網址: http://NiceBB.com/forum/index.php
頭像
kkt
竹貓忠實會員
竹貓忠實會員
文章: 625
註冊時間: 2005-06-15 01:37
來自: H.K.
聯繫:

文章 kkt »

狂暴戰龍, 你好.. 我不是喔
我之前已有又架又拆的, 還在 gbk, big-5, utf-8 之間轉來轉去,
不曾有過亂碼, 都不知為何這一次改了一個風格, 就變了亂碼.
我原以為文件的編碼不對, 都給我翻遍了, 也看不出個端倪.

那站祇是測試, 也不怎麼重要, 純粹求知想一探究竟而已.

以下是連線參數
SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;

圖檔


真奇怪?? 過往也是這樣設定好端端的... 真郁悶.. :-|
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
chiouss
竹貓忠實會員
竹貓忠實會員
文章: 1741
註冊時間: 2002-11-29 18:19

Re: [問題] chiouss 請教一個很簡單的資料庫亂碼常見問題

文章 chiouss »

kkt 寫:chiouss 大, 不好意思, 看來非要你這專家解答不可.. :oops: (當然更希望其他師長指導一下)
errr...我只是有點心得而已,不是專家阿 @@"

看圖可能不太準,可以給一下 phpBB 裡面你修改過的地方還有 MySQL 的帳號密碼 (如果可以的話) 嗎?

光是看圖猜應該是 SET NAMES utf8; 沒有送進去的樣子?我後來是直接把這個指令丟在 my.ini 裡面了,缺點是所有要用到 MySQL 的程式都必須預設為 utf8 編碼,不然就必須另外設定...

--
麻煩一下,如果是私下要問我問題可以用其他方式就好,既然要貼出來那就別指名我回答,這個站很多厲害的高手可以回答這種問題。我點進來看到這個標題嚇壞了 :oops:
chiouss
竹貓忠實會員
竹貓忠實會員
文章: 1741
註冊時間: 2002-11-29 18:19

文章 chiouss »

kkt 寫:以下是連線參數
看 phpMyAdmin 的設定值不準,因為新一點的 phpMyAdmin 會自己指令過去改變 character set 和 collation,所以 phpMyAdmin 裡面輸入的資料沒有遇到像 phpBB 這類程式需要轉碼的問題。

用 mysql 的 command line client 也要先確認過你 my.ini 或是 my.cnf 裡面的 [client] 區段 default character set 是什麼,我印象中這個是只有 mysql command client 有用,不過那是 4.1.x 的事情了,後來有沒有改過我就不清楚了。
頭像
kkt
竹貓忠實會員
竹貓忠實會員
文章: 625
註冊時間: 2005-06-15 01:37
來自: H.K.
聯繫:

文章 kkt »

chiouss 大, 能夠得到你幫忙一看, 是求之不得了.
我即時把資料 pm 給你. thz


ps. 非我不想用私訊, 我也是遵重各位大大簽名: 問題公開討論, 集思廣益. :oops:
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
chiouss
竹貓忠實會員
竹貓忠實會員
文章: 1741
註冊時間: 2002-11-29 18:19

文章 chiouss »

kkt 寫:ps. 非我不想用私訊, 我也是遵重各位大大簽名: 問題公開討論, 集思廣益. :oops:
既然是要集思廣益,那何必指名呢?您只需要貼出問題和提供相關的資訊,相信很多人會願意提供協助 :P
小竹子
竹貓星球大統領
竹貓星球大統領
文章: 4596
註冊時間: 2001-10-29 22:13
來自: 竹貓星球
聯繫:

文章 小竹子 »

注意事項:
●phpBB 架設相關問題請到 + phpBB 3.0.x 討論區發表!
●都沒有你要的答案嗎??>>點這裡<<搜尋一下吧!
●請使用>>標準的發文格式<<發表問題!
●竹貓星球並非政治團體代言人,請不要在竹貓討論政治議題,也不要認為竹貓是偏向任何一方政治團體,竹貓愛的是台灣這片生長的土地,過於泛政治化文章請來信告知移除!
●關於 phpBB 使用問題請在版面發問,私人訊息提供其他不相干或是隱私的事情聯絡之用。
●所有市面上的免費空間皆非竹貓管轄,請勿來信詢問,請直接與該免費空間連絡。
chiouss
竹貓忠實會員
竹貓忠實會員
文章: 1741
註冊時間: 2002-11-29 18:19

文章 chiouss »

小竹子 寫:試試看這個吧! :oops:
http://www.phpbb-tw.net/phpbb/viewtopic.php?t=36874
這個修改應該是在之前搞不清楚 charset 設定的情況下做出來的,而且有更簡單的方式就可以達到同樣的效果。charset 的設定問題可以參考神川小羽最近的文章,裡面解釋得很清楚。
最後由 chiouss 於 2007-04-30 00:53 編輯,總共編輯了 1 次。
頭像
kkt
竹貓忠實會員
竹貓忠實會員
文章: 625
註冊時間: 2005-06-15 01:37
來自: H.K.
聯繫:

文章 kkt »

先多謝竹大啦, 有看過喔. 謝謝!!

chiouss 大, 我也在站上快 2 年吧, 有幾位大大都各有所長.
而有關資料庫的解惑, 站上還有誰比chiouss 大你多的.
那我當然求教於最熟知的一位囉, 有錯嗎.. :roll:

========

想來要求助於主機商.

因為其實可排除一些可能性的.

1) 在 MYSQL 同一版本同一設定下, 我另有 utf-8 , big-5 論壇版本
資料庫中所有字元, 包括繁簡中英日韓文, 皆沒有亂碼.
所以邏輯上推斷MYSQL版本的編碼設定不一定有錯

2) 架設的是原裝官方 phpBB2.0.22 utf-8 版本.
如果文件編碼有錯, 所有人都錯才對.

在未找到原因之前. 我會重新再架另一站, 看看到底是何原因造成.


多謝!!



.
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
頭像
kkt
竹貓忠實會員
竹貓忠實會員
文章: 625
註冊時間: 2005-06-15 01:37
來自: H.K.
聯繫:

文章 kkt »

解決了, 過程如下:

在網上找到一些資料
http://yblog.org/archive/index.php/5843
讓Mysql資料庫編碼以UTF-8為準
在Mysql建立都是UTF-8的資料表除了必須將Mysql編碼預設成UTF-8外,在網頁程式中也必須指定它的編碼方式,在寫入、取出時必須都透過UTF-8編碼來處理。

以PHP程式為例,必須在連接資料庫的程式後面加上這三行才行,就能達到前端、後端編碼的一致性:
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET CHARACTER SET UTF8");
mysql_query("SET CHARACTER_SET_RESULTS=UTF8'");
以安裝PHPBB為例,就必須先建立好資料庫,在安裝時,將include裡面的db.php加上這三行,當安裝結束後,建立的中文字,在網頁上看到的,以及在資料庫管理軟體看到的就會是一樣的字元,而不是在資料庫管理軟體中看到的是變成亂碼。

不過這適合還沒有安裝的時候套用,這樣建立的資料表才都是正確的。如果你已經安裝過了,這時想要改,只有透過另外寫程式導出資料表,在使用符合新資料庫編碼格式的程式導入才行
我跟著去做, 完全沒有用. 因為 db.php 祇是作導向文件.


========

之後我建立一個新的資料庫, 重新官方下載 phpBB2.0.22 utf-8 版.
把 install 資料夾上傳.

把 config.php 覆蓋舊檔. set 777

執行 install 安裝新的數據, 資料庫選 utf8

安裝成功.

在測試站發主題文章試試.

再檢查 phpBB_post_text 沒有亂碼.

論壇文章沒有亂碼. (我知道成功了, 就如以往一樣)

========

我再把舊資料庫的數據導入新資料庫, 當然論壇會顯示為亂碼了.
但我把論壇顯示亂碼的文章删去就好了.

========

總結:

其實根本甚麼都不用設定. 我完全沒改動過任何文件一個字.
最重要是資料導入時設定語系為 utf-8 (其實就跟之前是一摸一樣)

看圖比較便知道, 祇是沒有再亂碼.

圖檔

圖檔

圖檔


=========


無言..
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
allbuy
星球普通子民
星球普通子民
文章: 3
註冊時間: 2007-06-16 14:53
聯繫:

文章 allbuy »

阿看不懂做業都還好可是資料庫不知在那理還無法架站
頭像
kkt
竹貓忠實會員
竹貓忠實會員
文章: 625
註冊時間: 2005-06-15 01:37
來自: H.K.
聯繫:

文章 kkt »

我特别回到這個主題下個結論, 也好後來者參考.

原來我犯了一個錯誤, 在我建立資料庫之後, 我並未立即裝設論壇.
其後我在伺服器裝設 Zend Optimizer (PHP加速器)
過程中MYSQL 改變了所有預設較對為 latin 1

所以我在執行 phpBB install 時, 變成用 latin 1 匯入資料
但由於論壇看不出亂碼, 所以並未留意.

而其後再寫入的中文, 都以 latin 1 匯入, 資料庫看就成了亂碼字.

但在我再度重裝時, 先在建立的資料庫預設為 校對: utf-8_general_ci 或 utf-8_unicode_ci


其實

衹需建立資料庫後, 首先到管理選項中,
確定 校對: utf-8_general_ci 或 utf-8_unicode_ci (最重要)

之後再執行 install

以一個全新下載 phpBB2.022 版本來說
不用改動任何文件, 除了上載速度不計算之外.
安裝祇需 30 秒不到, 是不會亂碼的.
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
頭像
kkt
竹貓忠實會員
竹貓忠實會員
文章: 625
註冊時間: 2005-06-15 01:37
來自: H.K.
聯繫:

文章 kkt »

樓上的頭像好像也大了些, 有點影響版面喔.. :roll:
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
回覆文章

回到「phpMyAdmin」