網域名稱俱樂部


返回   網域名稱俱樂部 > 電腦與網路技術 > 電腦網路相關技術 > 一般軟體與網路使用討論

回覆
 
主題工具
  #11  
舊 2007-12-26, 06:40 PM
liou 的頭像
liou liou 目前離線
進階會員
 
註冊日期: 2006-02-18
文章: 808
酷

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  
舊 2007-12-26, 06:50 PM
seesawgame 的頭像
seesawgame seesawgame 目前離線
進階會員
 
註冊日期: 2004-07-25
住址: 域名家.com
文章: 6,545
預設

引用:
作者: liou 查看文章
你的資料庫

早期是從:
[論壇] --儲存成BIG5--> [資料] --無校對--> [MySQL4.0資料庫]


目前狀態是:
[論壇] --儲存成BIG5--> [資料] --lartin1校對--> [MySQL5.0資料庫]


將來建議要改成:
[論壇] --儲存成UTF8--> [資料] --Utf8校對--> [MySQL5.0資料庫]
liou 兄,感謝您的建議
我也是朝這個方向努力,但是因為不知要怎樣處理 
__________________
回覆時引用此篇文章
  #13  
舊 2007-12-26, 08:23 PM
cool 的頭像
cool cool 目前離線
進階會員
 
註冊日期: 2002-10-01
文章: 2,763
預設

引用:
作者: seesawgame 查看文章
不過我是用筆記本之類的軟體開它…不知有沒有差別 
其他筆記本之類不太清楚,大多無法正常顯示它原資料的編碼字體。

以下是我的方式,你試試看。
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. 完成。
回覆時引用此篇文章
  #14  
舊 2007-12-26, 09:14 PM
some some 目前離線
進階會員
 
註冊日期: 2003-09-23
住址: 屏東
文章: 3,608
預設

引用:
作者: seesawgame 查看文章
some 大,我看完了
但是資質不好,實在看不出要怎樣解決這個問題 
您使用舊版的 phpmyadmin 去做資料匯出就解決了.
您查一下您的 phpmyadmin 的IE檢示編碼是不是UTF-8 ?

另外更簡單的方法用mysqldump 出來就好了阿?
__________________
nice to meet you                   flickr
回覆時引用此篇文章
  #15  
舊 2007-12-26, 09:35 PM
seesawgame 的頭像
seesawgame seesawgame 目前離線
進階會員
 
註冊日期: 2004-07-25
住址: 域名家.com
文章: 6,545
警告

當我使用 EmEditor 開啟時,出現下面的錯誤
__________________
回覆時引用此篇文章
  #16  
舊 2007-12-26, 09:38 PM
cool 的頭像
cool cool 目前離線
進階會員
 
註冊日期: 2002-10-01
文章: 2,763
預設

引用:
作者: seesawgame 查看文章
當我使用 EmEditor 開啟時,出現下面的錯誤
不管它,按確定。
再進入這步驟。

回覆時引用此篇文章
  #17  
舊 2007-12-26, 09:39 PM
seesawgame 的頭像
seesawgame seesawgame 目前離線
進階會員
 
註冊日期: 2004-07-25
住址: 域名家.com
文章: 6,545
預設

引用:
作者: some 查看文章
您使用舊版的 phpmyadmin 去做資料匯出就解決了.
您查一下您的 phpmyadmin 的IE檢示編碼是不是UTF-8 ?

另外更簡單的方法用mysqldump 出來就好了阿?
some 兄,我使用 IE 7.0 它的確是 UTF-8 顯示編碼
舊版的 phpmyadmin 跟使用 mysqldump 有相關的教學嗎?!
__________________
回覆時引用此篇文章
  #18  
舊 2007-12-26, 09:45 PM
seesawgame 的頭像
seesawgame seesawgame 目前離線
進階會員
 
註冊日期: 2004-07-25
住址: 域名家.com
文章: 6,545
預設

引用:
作者: cool 查看文章
不管它,按確定。
再進入這步驟。
試了一下,發現只有部份資料庫的設定部份支援
但其他資料庫內的東西還是亂碼
不知是否與那個「SQL 兼容模式」有關?! 我該選那個選項呢?!

__________________
回覆時引用此篇文章
  #19  
舊 2007-12-26, 09:55 PM
cool 的頭像
cool cool 目前離線
進階會員
 
註冊日期: 2002-10-01
文章: 2,763
預設

引用:
作者: seesawgame 查看文章
不知是否與那個「SQL 兼容模式」有關?! 我該選那個選項呢?!

「SQL 兼容模式」是於載入時,才選取。
輸出.sql時;照一般預設即可。

原始.sql file 用一般筆記本開啟,還是這樣的亂碼字體?
引用:
(39, 38, 22, 5, 1030753421, 1, '192.168.1.50', 'Re: 穡穢織繕瞻璽簞??D癒I', 0, 0, '', 1),
(40, 38, 22, 5, 1030766761, 100, '61.224.129.147', 'Re: 穡穢織繕瞻璽簞??D癒I', 0, 0, '', 0),
(41, 40, 22, 5, 1030777503, 1, '192.168.1.50', 'Re: 穡穢織繕瞻璽簞??D癒I', 0, 0, '', 1),
(42, 35, 13, 1, 1030780097, 108, '61.230.202.122', 'Re: 簡?穢籀', 0, 0, '', 0),
(43, 41, 22, 5, 1030876390, 100, '61.224.128.224', 'Re: 穡穢織繕瞻璽簞??D癒I', 0, 0, '', 0),
(44, 43, 22, 5, 1030882645, 1, '192.168.1.50', 'Re: 穡穢織繕瞻璽簞??D癒I', 0, 0, '', 1),
(45, 0, 23, 5, 1030883313, 1, '192.168.1.50', '?繹穢籀Antique翹?繒?穠繙穠穩繙t', 0, 0, 'icon16.gif', 1),
(46, 45, 23, 5, 1030982038, 1, '192.168.1.50', 'Re: ?繹穢籀Antique翹?繒?穠繙穠穩繙t', 0, 0, '', 1),
(47, 42, 13, 1, 1031112940, 131, '218.187.18.165', 'Re: 簡?穢籀', 0, 0, 'icon25.gif', 0),

此篇文章於 2007-12-26 09:59 PM 被 cool 編輯。
回覆時引用此篇文章
  #20  
舊 2007-12-26, 09:58 PM
some some 目前離線
進階會員
 
註冊日期: 2003-09-23
住址: 屏東
文章: 3,608
預設

引用:
作者: seesawgame 查看文章
some 兄,我使用 IE 7.0 它的確是 UTF-8 顯示編碼
舊版的 phpmyadmin 跟使用 mysqldump 有相關的教學嗎?!
去下載舊版的 phpmyadmin來做匯出就解決了.
舊版的phpmyadmin 的檢示編碼是big5, 您用UTF-8的軟體的任何動作都會將字體做UTF-8的編碼.

您再用力看一下我寫的教學就知道了..
其實這麼簡單的東西大家都太複雜化了. 試看看..保證有用.
__________________
nice to meet you                   flickr
回覆時引用此篇文章
回覆

主題工具

發文規則
不可以發表新主題
不可以發表回覆
不可以上傳附件
不可以編輯自己的文章

啟用 BB 代碼
論壇啟用 表情符號
論壇啟用 [IMG] 代碼
論壇禁用 HTML 代碼



所有時間均為 +8。現在的時間是 06:24 PM


本站主機由網易虛擬主機代管
Powered by vBulletin® 版本 3.8.4
版權所有 ©2000 - 2024,Jelsoft Enterprises Ltd.