1 頁 (共 1 頁)

[問題] 有否方法令會員的編碼方式強迫成為utf-8? (已解決)

發表於 : 2007-06-18 22:35
AngeLucifer
●架設主機作業系統:Unix
●快速架站程式:無
●免費空間連結:付費空間(Dreamhost)
●您的上網方式:Hinet 8m。
●您安裝的程式:無
●您的 phpBB2 版本:2.0.21
●您的 domain(網域名稱) :acgaa.com
●您的 phpBB2 連結網址: http://www.acgaa.com

莫約今年年初, 我在竹貓發表過一則問題,

內容約為我的lang_main.php不知為何只要一有任何修改, 即會出現錯誤碼:
Warning: Cannot modify header information - headers already sent by (output started at /home/.giant/angelucifer/acgaa.com/phpBB2/language/lang_chinese_traditional_taiwan/lang_main.php:1) in /home/.giant/angelucifer/acgaa.com/phpBB2/includes/page_header.php on line 483

Warning: Cannot modify header information - headers already sent by (output started at /home/.giant/angelucifer/acgaa.com/phpBB2/language/lang_chinese_traditional_taiwan/lang_main.php:1) in /home/.giant/angelucifer/acgaa.com/phpBB2/includes/page_header.php on line 485

Warning: Cannot modify header information - headers already sent by (output started at /home/.giant/angelucifer/acgaa.com/phpBB2/language/lang_chinese_traditional_taiwan/lang_main.php:1) in /home/.giant/angelucifer/acgaa.com/phpBB2/includes/page_header.php on line 486


(如把"版面"二字替換為"板麵"就不行, 但是再從"板麵"改回"版面"就ok)
該問題連結

當時godbless兄提出了一個問題, 謂:
我這樣問好了,
你是做了什麼樣的升級動作?

是有在那時候上傳什麼資料?

所以才發生這種狀況?
說實在我還真不知道, 所以至今一直沒有對該問題答覆.

而前幾天終於有些空閒處理這鳥事, 爬了些文章, 經第一次測試後,

發現2.017(含)之前的版本都不會有這種問題, 而phpBB自2.018後全面改行utf8的編碼,

故我猜想可能與此脫不了干係.

第二次測試列表:

1. 另立phpBB2.017的系統將資料移植

結果:失敗, 檔案都有匯進去但不知為何phpBB連接不上資料庫.

2. 將2.017版的lang_main.php取代現系統(2.021)的lang_main.php

結果:不會出現錯誤碼, 但整個網站程亂碼狀態, 使用者每切換一頁就必需手動將編碼換成utf8.
如圖:

圖檔

其實"版面"的部分已經被我換成"版面喵", 不過沒有出現錯誤碼.

終究是解決了一個大患, 於是打算從這個方向進行, 現有a, b二案:

a案:

試著將所有
<meta http-equiv="Content-Type" content="text/html; charset=S_CONTENT_ENCODING">
語法改成
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
結果:失敗, 雖然解決亂碼問題, 但不知為何版面變成這德性.

圖檔

(變成黃色網站了(誤). 如果我不是管理員, 應該可以在電腦前笑得很開心)


b案:

在某些頁面塞入強迫使用者編碼方式為utf-8

結果:完全不知道要怎麼作囧 <=這叫結果嗎?



3. 把lang_main.php裡的
$lang['ENCODING'] = 'big5';
改成
$lang['ENCODING'] = 'utf-8';

結果:失敗, 回到原點.(出現錯誤碼)


各位先進從我的測試方式來看, 大概可以知道我對phpBB幾乎是完全外行,

實在是被這個瓶頸卡了很久才不得不來麻煩各位,

還請不吝指教, 感激不盡!





=解決方式=

將所有檔案轉為utf-8上傳並確定lang_編碼方式為utf-8

感謝各位的指導

發表於 : 2007-06-18 23:38
chiouss
如果你是用 Apache2 (2.0 or 2.2) 的話可以放個 .htaccess 在目錄底下,裡面寫

代碼: 選擇全部

 AddDefaultCharset utf-8

發表於 : 2007-06-19 00:07
AngeLucifer
chiouss 寫:如果你是用 Apache2 (2.0 or 2.2) 的話可以放個 .htaccess 在目錄底下,裡面寫

代碼: 選擇全部

 AddDefaultCharset utf-8
您好, 我(應該)不是用Apache2架的, 不過還是照您說的試了,

但結果仍然一樣...囧rz

發表於 : 2007-06-19 00:28
~倉木麻衣~
這已經可以算是UTF8的FAQ級問題了吧, BOM的關係

轉成UTF8之後, 不建議直接用FTP之類的軟體線上編輯語系檔
或是使用如記事本這類會自動加BOM的文字編輯器修改檔案
這些都是前人們最常提出的問題, 也是最常見到的錯誤原因

發表於 : 2007-06-19 00:40
AngeLucifer
~倉木麻衣~ 寫:這已經可以算是UTF8的FAQ級問題了吧, BOM的關係

轉成UTF8之後, 不建議直接用FTP之類的軟體線上編輯語系檔
或是使用如記事本這類會自動加BOM的文字編輯器修改檔案
這些都是前人們最常提出的問題, 也是最常見到的錯誤原因
您好, 我並非使用FTP線上編輯語系檔, 而是修改檔案後用ConvertZ將phpbb 2.0.17的lang_main.php(Big5)轉成utf-8(已確認工具中加入BOM的選項未勾選).

勞您解惑了.

發表於 : 2007-06-19 01:13
~倉木麻衣~
您的站目前看起來是正常的
但是先前去查看時(即下圖狀況時), 確實是含有BOM沒錯

圖檔

Re: [問題] 有否方法令會員的編碼方式強迫成為utf-8? (狀況更新)

發表於 : 2007-06-19 08:16
心靈捕手
AngeLucifer 寫:●架設主機作業系統:Unix
●快速架站程式:無
●免費空間連結:付費空間(Dreamhost)
●您的上網方式:Hinet 8m。
●您安裝的程式:無
●您的 phpBB2 版本:2.0.21
●您的 domain(網域名稱) :acgaa.com
●您的 phpBB2 連結網址: http://www.acgaa.com

莫約今年年初, 我在竹貓發表過一則問題,

內容約為我的lang_main.php不知為何只要一有任何修改, 即會出現錯誤碼:
Warning: Cannot modify header information - headers already sent by (output started at /home/.giant/angelucifer/acgaa.com/phpBB2/language/lang_chinese_traditional_taiwan/lang_main.php:1) in /home/.giant/angelucifer/acgaa.com/phpBB2/includes/page_header.php on line 483

Warning: Cannot modify header information - headers already sent by (output started at /home/.giant/angelucifer/acgaa.com/phpBB2/language/lang_chinese_traditional_taiwan/lang_main.php:1) in /home/.giant/angelucifer/acgaa.com/phpBB2/includes/page_header.php on line 485

Warning: Cannot modify header information - headers already sent by (output started at /home/.giant/angelucifer/acgaa.com/phpBB2/language/lang_chinese_traditional_taiwan/lang_main.php:1) in /home/.giant/angelucifer/acgaa.com/phpBB2/includes/page_header.php on line 486


(如把"版面"二字替換為"板麵"就不行)
該問題連結

當時godbless兄提出了一個問題, 謂:
我這樣問好了,
你是做了什麼樣的升級動作?

是有在那時候上傳什麼資料?

所以才發生這種狀況?
說實在我還真不知道, 所以至今一直沒有對該問題答覆.

而前幾天終於有些空閒處理這鳥事, 爬了些文章, 經第一次測試後,

發現2.017(含)之前的版本都不會有這種問題, 而phpBB自2.018後全面改行utf8的編碼,

故我猜想可能與此脫不了干係.

第二次測試列表:

1. 另立phpBB2.017的系統將資料移植

結果:失敗, 檔案都有匯進去但不知為何phpBB連接不上資料庫.

2. 將2.017版的lang_main.php取代現系統(2.021)的lang_main.php

結果:不會出現錯誤碼, 但整個網站程亂碼狀態, 使用者每切換一頁就必需手動將編碼換成utf8.
如圖:

圖檔

其實"版面"的部分已經被我換成"版面喵", 不過沒有出現錯誤碼.

終究是解決了一個大患, 於是打算從這個方向進行, 現有a, b二案:

a案:

試著將所有
<meta http-equiv="Content-Type" content="text/html; charset=S_CONTENT_ENCODING">
語法改成
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
結果:失敗, 雖然解決亂碼問題, 但不知為何版面變成這德性.

圖檔

(變成黃色網站了(誤). 如果我不是管理員, 應該可以在電腦前笑得很開心)


b案:

在某些頁面塞入強迫使用者編碼方式為utf-8

結果:完全不知道要怎麼作囧 <=這叫結果嗎?



3. 把lang_main.php裡的
$lang['ENCODING'] = 'big5';
改成
$lang['ENCODING'] = 'utf-8';

結果:失敗, 回到原點.(出現錯誤碼)


各位先進從我的測試方式來看, 大概可以知道我對phpBB幾乎是完全外行,

實在是被這個瓶頸卡了很久才不得不來麻煩各位,

還請不吝指教, 感激不盡!
您上回提問, 所欠缺的是清楚交代 'UPGRADE' 的過程.
http://phpbb-tw.net/phpbb/viewtopic.php?t=47649

--
如今您的問題重點似乎是要 '強迫使用者編碼方式為utf-8'?

我以為:
只要您的架站系統, 或論壇的語系編碼, 正常即可,
何必 '強迫使用者編碼方式為utf-8'

一般人的瀏覽器編碼, 都採 '自動選擇';
也就是說, 無論拜訪 big5 或 utf-8 語系的網站, 都是沒有問題的.

您並非自有主機架站, 而是使用付費空間;
所以您的當務之急是, 確保論壇的語系編碼, 正常即可.