#11
|
||||
|
||||
1. 你的資料庫狀況分析:
早期是從: [論壇] --儲存成BIG5--> [資料] --無校對--> [MySQL4.0資料庫] 目前狀態是: [論壇] --儲存成BIG5--> [資料] --latin1校對--> [MySQL5.0資料庫] 將來建議要改成: [論壇] --儲存成UTF8(或Big5)--> [資料] --Utf8校對(或big5校對)--> [MySQL5.0資料庫] (建議將來都改用 utf8 比較不會出問題) 2. 上述第一階段 [論壇]到[資料] 的儲存模式是由論壇設定的,(請自行翻閱論壇的設定檔) (一般論壇會偵測你的資料庫是4.0以前或是4.1之後, 4.0之前的就會以big5模式儲存, 4.1之後他可能會多一個項目讓你從big5轉換成utf8, 但是 假如你內部卻用latin1校對方式,論壇並不曉得,一轉換下去 整個論壇都會變成亂碼瞬間毀掉, 所以轉換前,請先備份資料庫, 並且請先確定你的資料庫是否是全部都big5校對再決定轉換.) 3. 第二階段的[資料]到[MySQL資料庫]的儲存校對模式則是由 MySql設定的.(請自行翻閱phpmyadmin資料庫的結構或管理) (1) 當初 MySQL 4.0以下 是沒有校對模式的. (2) 升級到4.1~5.0的時候, 你創立資料庫自動被預設為 latin1 校對模式,(而不是選擇big5或utf8) 原本依照正常情況來看, 你當初應該要手動建立 big5資料庫的. 因為大部分創立資料庫都是在Cpanel創立,而Phpmyadmin通常不讓你創立資料庫, 所以建立出來的都是 latin1資料庫, 必須自行手動改成 big5或utf8 以下這個作者寫的,是我看過唯一我能理解的Mysql地球文章, 前半部是寫如何創立一個原始空白的資料庫,就先把它從latin1改成big5或Utf8資料庫,避免以後出錯; 後半部是寫已經把big5或utf8資料給寫到latin1校對錯誤的兩種解決方式: http://www.winzfree.happyhost.org/mysqlcheck/index.htm 4. 為啥你看到的資料是亂碼: [論壇] --儲存成BIG5--> [資料] --larin1校對--> [MySQL5.0資料庫] 目前你的[資料] 看到都是亂碼, 表示你從 [MySQL5.0資料庫] 反倒出來的時候, 不是透過正確的latin1校對模式, 5. 至於如何徹底解決 這個我也不是很懂, 我是建議如下啦: 資料庫和論壇檔案 都要備分, 用備份複製出來的資料庫 ,cpanel的 file manage複製論壇所有檔案, 到新目錄去慢慢實驗,不要動用到原來的論壇目錄和論壇資料庫. (1) 你可以倒出來的時候, 要輸出之前, 校對模式用latin1(或big5都試試), 先設法把資料庫輸出到你的電腦裡, 然後使用 像 EmEditor 這種軟體, 去變更整個檔案從 latin語系變為big5,(讀取latin1 儲存big5) 看看是否亂碼會變回正確的中文. PS. 這裡我覺得需要交叉比對, 輸出資料庫到電腦的時候 各選 latin1 big5 utf8 三種存檔, 三種存檔 使用EmEditor 各再用 latin1 big5 utf8 三種方式讀取 看看哪一種會變成正確的中文碼,(總共有9種變化...) 然後再以BIG5方式存檔. (2) 再將上述正確的中文編碼的檔案 修改資料裡面的latin1_swedish_ci 改成你的語系 big5_chinese_ci (3) 在cpanel建立新空白資料庫 , 在phpmyadmin [管理] 項目中將語系改成用big5校對, (4) 該空白資料庫[載入],語系選擇 Big5. 這樣子應該就變成標準的Big5資料庫了... 也就是像這位作者寫的 處理方式B 方式... http://www.winzfree.happyhost.org/mysqlcheck/index.htm PS. 我上次主機商突然升級資料庫害我措手不及,來不及備份最新的4.0版本的資料庫. 為了這個問題,解到資料庫編碼更加混亂掉完全廢掉, 最後只好拿當初4.0版本的舊資料庫來用,損失了2個月份的留言... 建議你再以Google搜尋: mysql latin1 big5 或是 mysql latin1 utf8 類似這些的,會有一堆文章討論...(不過,我大部分都看不懂...) --------------------- 我也提醒大家, 當Mysql資料庫 4.0 無校對模式,不需要特別注意. 但是 升級到Mysql 4.1~5.0以上,就要注意在cpanel建立新資料庫,會被設定成latin校對這個錯誤. 每次只要建立新資料庫,就一定要記的手動改成utf8或big5,不然以後資料庫的問題會一堆... 此篇文章於 2007-12-26 08:58 PM 被 liou 編輯。 |
#12
|
||||
|
||||
引用:
我也是朝這個方向努力,但是因為不知要怎樣處理
__________________
|
#13
|
||||
|
||||
其他筆記本之類不太清楚,大多無法正常顯示它原資料的編碼字體。
以下是我的方式,你試試看。 1. name.sql 先行備份。 2. name.sql (資料)用EmEditor打開,選big5編碼重新讀取。 3. 另存新檔→以UTF-8存檔。 phpMyAdmin 載入 原(資料)清空狀態。 1. 進入【管理】→校對:設定為utf8_general_ci 2. 進入【載入】文字編碼檔案:utf8 / 載入檔案格式 SQL 兼容模式→選取:MYSQL40 or 50 (自己合適版本) 3. 上傳UTF-8格式 name.sql。 4. 完成。 |
#15
|
||||
|
||||
當我使用 EmEditor 開啟時,出現下面的錯誤
__________________
|
#16
|
||||
|
||||
|
#17
|
||||
|
||||
引用:
舊版的 phpmyadmin 跟使用 mysqldump 有相關的教學嗎?!
__________________
|
#18
|
||||
|
||||
__________________
|
#19
|
||||
|
||||
「SQL 兼容模式」是於載入時,才選取。
輸出.sql時;照一般預設即可。 原始.sql file 用一般筆記本開啟,還是這樣的亂碼字體? 引用:
此篇文章於 2007-12-26 09:59 PM 被 cool 編輯。 |