[問題]關於 UTF-8 化

phpBB Installation & Usage Support
phpBB 2 安裝於各類型作業平台之問題討論;外掛問題,請到相關版面依發問格式發表!
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

版面規則
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
GeniusKiKi
竹貓忠實會員
竹貓忠實會員
文章: 1086
註冊時間: 2003-10-28 14:50

文章 GeniusKiKi »

依夢兒 寫:
GeniusKiKi 寫:發表瀏覽的部分都很正常...
可是進入後台的部分都一片空白... 殘念
我之前也是空白,解決方法:
http://phpbb-tw.net/phpbb/viewtopic.php?p=138394#138394
謝謝您的建議...
不過我是用瀏覽器加記事本轉碼的...
沒有您那篇文章所謂的問題...

我猜測是那個網頁的框架裡面的網址裡面含有分號 ( ; ) 所以導致有問題...
因為 UTF-8 的編碼好像有使用分號的樣子...
因為我直接分別輸入那個框架裡的兩個網址就正常...
再也不當爛好人...
好人是小白轉型成大白的墊腳石...
beanpp
星球普通子民
星球普通子民
文章: 20
註冊時間: 2003-07-18 15:51

文章 beanpp »

GeniusKiKi 寫:
我猜測是那個網頁的框架裡面的網址裡面含有分號 ( ; ) 所以導致有問題...
因為 UTF-8 的編碼好像有使用分號的樣子...
因為我直接分別輸入那個框架裡的兩個網址就正常...
這個我倒沒有遇到過, 不過瀏覽器加記事本還是會有 <? 在存成 UTF-8 格式時
會自動變成亂碼的問題, 不過改一下就好了
我有一次遇到過的問題是在我裝 mod 時, 我的習慣事先更動之前備分的檔案來試試, 可是在裝完外掛後, 卻發生了跟你類似的情形, browser 不會自動變成 UTF-8 編碼, 但是在手動更換編碼後, 運作一切正常
後來我重新還原所有更動的檔案之後, 再裝一次 mod , 也不曉得為什麼, 就完全正常了, 我比對過發生問題的檔案和後來正常的檔案, 大小完全一樣\r

分號我不清楚會不會影響, 不過我想到的是如果是

代碼: 選擇全部

&
的話, 放在網址列中, 本來就會變成 &amp;, 在我這邊是運作正常, 所以就我的想法是跟這個應該無關, 應該如果有錯請指正, 謝謝
●架設主機作業系統:Debian stable+testing
●快速架站程式:
●您的上網方式:Hinet 雙向 512K
●您安裝的程式:Apache 1.3.31 + php4.3.8 + postgresql 7.4.3
●您的 phpBB2 版本:phpBB 2.0.8a
gmobug
星球普通子民
星球普通子民
文章: 19
註冊時間: 2004-02-28 02:12

[問題]轉換資料庫成UTF-8

文章 gmobug »

我用mysql 4.0.17
我先用mysqldump把資料庫匯出成sql檔,
然後下載下來用notepad轉成UTF-8,
再傳上server用vi把BOM去掉,
然後導入資料庫,
結果發生錯誤,
似乎是因為UTF-8某些字元的關係,
因為用原本big5格式的sql檔導入沒有問題,
用控制台裡的還原資料庫也會出問題...

有人有辦法解決嗎?

想轉成UTF-8是因為有些字如'徐'、'涵'會變成亂碼...很奇怪...是看起來像UTF-8碼的東西,但是只有用

代碼: 選擇全部

括起來才會這樣,我用的是PHPBB2.0.7
依夢兒
竹貓忠實會員
竹貓忠實會員
文章: 2013
註冊時間: 2002-11-20 00:07

文章 依夢兒 »

gmobug 寫:然後導入資料庫,
結果發生錯誤
你是使用 phpMyAdmin 還原嗎?
我的經驗是,直接使用 phpMyAdmin 還原 UTF-8 化的 .sql 會有問題。
建議使用下面這個方法來還原:
http://phpbb-tw.net/phpbb/viewtopic.php?t=13424
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。



搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
梁楓
竹貓好朋友
竹貓好朋友
文章: 7
註冊時間: 2003-01-31 09:50

文章 梁楓 »

在windows 的話,檔案經過處理為utf-8在最開頭可能會多二個“字元”
這個是utf-8在發展時的歷史因素,不過目前沒有很正式的解決方案

所以出問題的時候,請先看看,是否你的檔案前面多了二個字元?

另,我建議使用UltraEdit來轉換
gmobug
星球普通子民
星球普通子民
文章: 19
註冊時間: 2004-02-28 02:12

文章 gmobug »

依夢兒 寫:你是使用 phpMyAdmin 還原嗎?
我不是使用phpmyadmin...因為覺得他不太安全...
我是用mysql -p 85bb < 85bb.sql
這樣的方式還原的...
梁楓 寫:在windows 的話,檔案經過處理為utf-8在最開頭可能會多二個“字元”
你說的是開頭的BOM吧,我有用vi把他去掉了..

//-------------------------------------------------------------
詳細觀察後發現,
mysqldump出來的結果是有點怪異的big5編碼,用任意編輯器開啟後部分文字會是亂碼,有些應該是?',的地方會變成?,(那個?應該原本是big5碼的一部份),mysql會因此無法判斷字串結尾,但是儘管sql檔為big5編碼時也是如此,但是就是不會出問題.....
目前嘗試把所有的?,取代成?',再試...不過還不知道結果...
因為有些小問題,像是剛好字串的中間也有?,的時候,就得另行處理...
gmobug
星球普通子民
星球普通子民
文章: 19
註冊時間: 2004-02-28 02:12

文章 gmobug »

依夢兒 寫:
gmobug 寫:然後導入資料庫,
結果發生錯誤
你是使用 phpMyAdmin 還原嗎?
我的經驗是,直接使用 phpMyAdmin 還原 UTF-8 化的 .sql 會有問題。
建議使用下面這個方法來還原:
http://phpbb-tw.net/phpbb/viewtopic.php?t=13424

已經用這個導入成功了..謝嚕...

但是...似乎不是每次都能成功....往往只導入到某個位置後就顯示Restoration Complete...

有沒有能保證可以成功導入的方法啊...不然以後不知道該怎麼備分資料庫囉...
GaryFu
星球公民
星球公民
文章: 41
註冊時間: 2002-06-19 09:54
聯繫:

文章 GaryFu »

依夢兒 寫:剛剛想到一個問題。
UTF-8 化後,要在 phpMyAdmin 內進行管理就很麻煩了,搜尋功能也視同作廢。
是否有讓 phpMyAdmin 支援 UTF-8 的方法呢?
phpMyAdmin有各語言的utf-8可選擇
當然包括 Chinese traditional(zh-tz-utf-8)
不過預設是將utf-8語系檔關閉,需手動設定才可出現\r

我自已有在用phpMyAdmin 2.5.1版(語系用zh-tz-utf-8)
透過phpMyAdmin update資料完會出現錯誤訊息(bug?)
不過資料有正常更新update

--
另外關於mysql備份\r
如果能存取mysql目錄
直接備份 /mysql/data/資料庫名稱 這個目錄即可\r
透過phpmyadmin作大量的sql動作經常會出錯
圖檔
歡迎參觀我的網站
http://garyfu.idv.tw
依夢兒
竹貓忠實會員
竹貓忠實會員
文章: 2013
註冊時間: 2002-11-20 00:07

文章 依夢兒 »

gmobug 寫:但是...似乎不是每次都能成功....往往只導入到某個位置後就顯示Restoration Complete...
這我就不清楚了,那個 Script 裡面好像有相關的參數可以調整,你不妨試試。

GaryFu 寫:phpMyAdmin有各語言的utf-8可選擇
當然包括 Chinese traditional(zh-tz-utf-8)
不過預設是將utf-8語系檔關閉,需手動設定才可出現
瞭解,不過像我這種租用虛擬主機的使用者,大概沒有辦法讓它出現吧....
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。



搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
GaryFu
星球公民
星球公民
文章: 41
註冊時間: 2002-06-19 09:54
聯繫:

文章 GaryFu »

另外分享關於UTF-8化後mail格式的經驗

一、發出mail前將mail轉為big5格式
需改寫email程式,將送出的信件轉為big5碼\r
不過若網站不單只有big5 user,會對其他人造成影響\r
且不一定utf-8碼能正確無誤的轉成big5
不過好在寄出的mail文字不多,所以沒有完全正確轉碼也無多大關係

二、Email也為UTF-8格式
這才是完整的多國語言,但以實際情形看
user的收信軟體
outlook時:主旨會亂碼(因仍為big5瀏覽),內容會自動顯示utf-8瀏覽\r
webmail時:主旨、內容皆為亂碼,需自行更改編碼\r

我是建議用第二種\r
然後在mail及網站中多作說明

例如:
信件標題 用 英文當開頭,結尾加(utf-8 E-Mail)
信件內容開端加英文說明,裡面本文各用英文及中文描述一次\r

代碼: 選擇全部

標題:Topic Reply Notification - [問題]關於 UTF-8 化  (utf-8 E-Mail)
本文:
****************************************************
 Note : This is a UTF-8 formatted mail

 If you can't read this message correctly, 
 please change the encoding into Unicode (UTF-8) !

****************************************************
---------
 English
---------
Hello garyfu,

You are receiving this email because you are watching the topic, " [問題]關於 UTF-8 化" at GaryFu. This topic has received a reply since your last visit. You can use the following link to view the replies made, no more notifications will be sent until you visit the topic.

http://phpbb-tw.net/phpbb/viewtopic.php?p=142462#142462

If you no longer wish to watch this topic you can either click the "Stop watching this topic link" found at the bottom of the topic above, or by clicking the following link:

http://phpbb-tw.net/phpbb/viewtopic.php?t=23811&unwatch=topic&start=30

---------
 Chinese
---------
親愛的 garyfu 您好,

您收到這封這封電子郵件是因為您在"GaryFu"訂閱了主題" [問題]關於 UTF-8 化", 這個主題在您上次來訪後有新的回覆訊息. 您可以使用以下連結來觀看回覆的訊息, 在您觀看原主題之前, 不會有更新的訊息通知您.

http://phpbb-tw.net/phpbb/viewtopic.php?p=142462#142462

如果您想取消訂閱這個主題, 您可以按下主題下方"取消訂閱這個主題 (回覆通知)"的連結, 或直接使用以下連結:

http://phpbb-tw.net/phpbb/viewtopic.php?t=23811&unwatch=topic&start=30

-- 
竹貓星球管理團隊 敬上
圖檔
歡迎參觀我的網站
http://garyfu.idv.tw
gmobug
星球普通子民
星球普通子民
文章: 19
註冊時間: 2004-02-28 02:12

文章 gmobug »

依夢兒 寫:這我就不清楚了,那個 Script 裡面好像有相關的參數可以調整,你不妨試試。
找到嚕...
// Number of queries to perform each time
$queries = 1000;

那個1000是設定每次送出的sql語法筆數,把他改小一點,對mysql的存取就不會那麼頻繁,也比較不會有錯誤...

這個script的error_log似乎有點問題...
gmobug
星球普通子民
星球普通子民
文章: 19
註冊時間: 2004-02-28 02:12

文章 gmobug »

試出一個目前用了兩次都完全成功的方法...
1.先mysqldump
2.用notepad把dump出來的sql檔另存為UTF-8編碼
3.用vi開sql檔
4.去掉開頭的BOM(用delete鍵)(vi實在是不怎麼好用...不過確實強大..)
5.按冒號後輸入%s/?,/?',/g (把全部的?,取代成?',)
6.用restore_dump.php
7.完成

另外,我把restore_dump.php的錯誤紀錄關掉,因為他似乎沒辦法正常的開啟記錄檔...
關閉的方法是把裡面的$log_errors = 1;改成$log_errors = 0;就可以了..
依夢兒
竹貓忠實會員
竹貓忠實會員
文章: 2013
註冊時間: 2002-11-20 00:07

文章 依夢兒 »

gmobug 寫:2.用notepad把dump出來的sql檔另存為UTF-8編碼
3.用vi開sql檔
4.去掉開頭的BOM(用delete鍵)(vi實在是不怎麼好用...不過確實強大..)
5.按冒號後輸入%s/?,/?',/g (把全部的?,取代成?',)
不需要這麼麻煩....
.sql 文件檔丟給 ConvertZ 轉碼就行了,轉碼設定中的加 BOM 到 UTF8 檔案不要勾選即可。
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。



搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
gmobug
星球普通子民
星球普通子民
文章: 19
註冊時間: 2004-02-28 02:12

文章 gmobug »

依夢兒 寫:
gmobug 寫:2.用notepad把dump出來的sql檔另存為UTF-8編碼
3.用vi開sql檔
4.去掉開頭的BOM(用delete鍵)(vi實在是不怎麼好用...不過確實強大..)
5.按冒號後輸入%s/?,/?',/g (把全部的?,取代成?',)
不需要這麼麻煩....
.sql 文件檔丟給 ConvertZ 轉碼就行了,轉碼設定中的加 BOM 到 UTF8 檔案不要勾選即可。
說的也是...只是想說反正都得用vi..那就懶的用convertz了...
因為我用的os是freebsd,常用的編輯程式是ee,可是他好像沒有取代的功能...所以只好用vi...

轉換後最大的問題是因為編碼長度不同,有些東西會被截掉..

還有..
有些換行的地方會跑出\r(半個windows的換行符號)
雙引號"前面會被加上slash..變成"
想加上stripslashes()但是不知道該加在哪裡..
頭像
大佬
星球公民
星球公民
文章: 260
註冊時間: 2003-11-30 13:38
來自: Kluang,Johor,Malaysia
聯繫:

文章 大佬 »

GaryFu 寫:
依夢兒 寫:剛剛想到一個問題。
UTF-8 化後,要在 phpMyAdmin 內進行管理就很麻煩了,搜尋功能也視同作廢。
是否有讓 phpMyAdmin 支援 UTF-8 的方法呢?
phpMyAdmin有各語言的utf-8可選擇
當然包括 Chinese traditional(zh-tz-utf-8)
不過預設是將utf-8語系檔關閉,需手動設定才可出現\r

我自已有在用phpMyAdmin 2.5.1版(語系用zh-tz-utf-8)
透過phpMyAdmin update資料完會出現錯誤訊息(bug?)
不過資料有正常更新update

--
另外關於mysql備份\r
如果能存取mysql目錄
直接備份 /mysql/data/資料庫名稱 這個目錄即可\r
透過phpmyadmin作大量的sql動作經常會出錯
最近對utf-8化感興趣問一下几個問題
要如何phpMyAdmin的設定語系為utf-8的呢?還有語系檔內的所有文件是看到big5就改成utf-8嗎?所有語系都要utf-8化嗎(包括英文)?
如果小弟解答有錯誤請其他大大修正吧!
●免費空間連結:來看看吧!
●您的 phpBB2 版本:phpBB 2.0.8
●您的 phpBB2 連結網址: http://holymation.57host.com
主題已鎖定

回到「phpBB 2 安裝與使用」