1 頁 (共 4 頁)

[討論]請大家幫忙測多國語言~

發表於 : 2004-05-03 16:29
台灣阿堂
架設環境:
FreeBSD 5.2.1
Apache 1.3.29
PHP 4.3.5
PostgreSQL 7.4.2
phpBB 2.0.8a

網址:http://www.edna.idv.tw/phpBB/

資料庫編碼:UNICODE
瀏覽編碼:UTF-8

基本上沒有改任何程式碼\r
只有設定瀏覽編碼的部份而已\r
所以也沒有用上多國語言修正

請大家幫忙測試一下多國語言的部份~

發表於 : 2004-05-03 20:37
台灣阿堂
說明一下有修改的地方:

subSilver風格來作說明

步驟1:
以下檔案皆要改\r
subSilver/overall_header.tpl
subSilver/simple_header.tpl
subSilver/admin/page_header.tpl



[php]
<meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}" />
[/php]
改為\r
[php]
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
[/php]
步驟2:
修改\r
includes/functions_search.php

92行
[php]
function split_words(&$entry, $mode = 'post')
{
// If you experience problems with the new method, uncomment this block.
/*
$rex = ( $mode == 'post' ) ? "/\b([\w接-][\w接-']*[\w接-]+|[\w接-]+?)\b/" : '/(\*?[a-z0-9接-]+\*?)|\b([a-z0-9接-]+)\b/';
preg_match_all($rex, $entry, $split_entries);

return $split_entries[1];
*/
// Trim 1+ spaces to one space and split this trimmed string into words.
return explode(' ', trim(preg_replace('#\s+#', ' ', $entry)));
}
[/php]
改為\r
[php]
function split_words(&$entry, $mode = 'post')
{
// If you experience problems with the new method, uncomment this block.

$rex = ( $mode == 'post' ) ? "/\b([\w接-][\w接-']*[\w接-]+|[\w接-]+?)\b/" : '/(\*?[a-z0-9接-]+\*?)|\b([a-z0-9接-]+)\b/';
preg_match_all($rex, $entry, $split_entries);

return $split_entries[1];

// Trim 1+ spaces to one space and split this trimmed string into words.
return explode(' ', trim(preg_replace('#\s+#', ' ', $entry)));
}
[/php]
步驟3:
lang_chinese_traditional_taiwan/mail里面的所有tpl
[php]
Charset: UTF-8
[/php]
改成
[php]
Charset: big5
[/php]
步驟4:
再來需將竹貓繁體中文語系檔的檔案轉成UTF-8的格式

發表於 : 2004-05-07 02:12
台灣阿堂
不知道大家對於這個測試站有沒有問題呢?

發表於 : 2004-05-15 01:41
dae
步驟3:
再來需將竹貓繁體中文語系檔的檔案轉成UTF-8的格式
\n
做得不錯, 但你所指的中文語系檔是哪些?

發表於 : 2004-05-15 04:28
台灣阿堂
dae 寫:
步驟3:
再來需將竹貓繁體中文語系檔的檔案轉成UTF-8的格式
做得不錯, 但你所指的中文語系檔是哪些?
http://phpbb-tw.net/phpbb/viewtopic.php?t=3646

發表於 : 2004-05-15 06:46
Artemas
台灣阿堂 寫:不知道大家對於這個測試站有沒有問題呢?
資料庫編碼:UNICODE
1.請問mysql怎設\r
2.既有的資料庫怎轉:UNICODE

中文語系檔轉:UTF-8
哪種軟體可以轉
或者能提供轉好的竹喵中文語系檔

謝謝

發表於 : 2004-05-15 13:22
台灣阿堂
Artemas 寫: 資料庫編碼:UNICODE
1.請問mysql怎設\r
2.既有的資料庫怎轉:UNICODE
MySQL我沒試過用UNICODE
MySQL應該是不用設定資料庫編碼\r
只要在lang_main.php里設定
[php]
$lang['ENCODING'] = 'big5';
[/php]
改為\r
[php]
$lang['ENCODING'] = 'utf-8';
[/php]
資料庫就會存UNICODE的編碼進去了~
但是你之前用big5碼存的在讀的時後會有問題~
一般做法會先把資料庫匯出,把匯出的檔案編碼轉成UTF-8的格式
再匯入~
Artemas 寫: 中文語系檔轉:UTF-8
哪種軟體可以轉
或者能提供轉好的竹喵中文語系檔

謝謝
用EmEditor去另存新檔,選UTF-8編碼,記得BOM的打勾要取消~


:idea:

發表於 : 2004-05-15 13:31
Artemas
感謝您的熱心
用EmEditor去另存新檔,選UTF-8編碼,記得BOM的打勾要取消~
UltraEdit 這軟體有這功能嗎,我好像找不到 :roll:

Thanks

發表於 : 2004-05-15 15:21
台灣阿堂
Artemas 寫: UltraEdit 這軟體有這功能嗎,我好像找不到 :roll:
Thanks
我沒用過UltraEdit耶~ :roll:

發表於 : 2004-05-15 15:25
Artemas
呵呵找的一個方式

我慣用mozilla郵件軟體
開啟一頁新郵件,預設語言先設big5,然後把檔案字串拷貝貼進去,再設為utf-8
然後另存新檔,就ok了

我不曉得outlook有沒有辦法勒

發表於 : 2004-05-15 17:02
dae
你們會不會想太多了,
不就是用notepad打開然後save as點選utf-8

順便問, 是不是改完就不用更改多國語言code了?
還有是不是/lang_english裡面的file都要順便改?

發表於 : 2004-05-15 17:12
Artemas
dae 寫:你們會不會想太多了,
不就是用notepad打開然後save as點選utf-8

順便問, 是不是改完就不用更改多國語言code了?
還有是不是/lang_english裡面的file都要順便改?
耶...還真的ㄝ,沒注意到說 :mrgreen:

英文是基本字元,不用轉utf-8

不過我發現一個問題,用notepad轉好之後
第一行的 <?php
會變成 嚜??php
亂碼字,造成網頁錯誤,必須改回來。

其他就沒問題

發表於 : 2004-05-15 20:49
Artemas
我發現阿 overall_header.tpl
<meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}" />
這段到不用改成 charset=utf-8"

只要在 lang_main.php
把 $lang['ENCODING'] = 'big5'; 改成
$lang['ENCODING'] = 'utf-8';
那一樣訪客預設網頁與會員選擇繁體中文都會是utf-8 環境下
留著原來的{S_CONTENT_ENCODING}也好,萬一有訪客真的使用英文語系的,起碼還有的選。

其次mysql 中的資料庫要轉成 utf-8
我用phpbb後台的備份資料庫的sql檔轉成utf-8之後再轉入mysql會出問題,我後來用phpmyadmin 的備份輸出,再轉成utf-8,不過要先把phpbb原有的資料庫都移除,保留空白目錄夾,才可再用phpmyadmin 匯入,這樣就ok了。

真的蠻簡單的,感謝阿堂兄!
給各位參考一下我的經驗吧 :mrgreen:

發表於 : 2004-05-15 21:35
Artemas
我後來想想lang_english\lang_main.php
也改成 $lang['ENCODING'] = 'utf-8';
那這樣選擇英文語系的人,除了功能文字可以是英文,也能同時存在各種語文字的文章 :mrgreen: .
好比說在國外的華人用英文版的電腦,也能看各種語言的文章,當然前題是他瀏覽器必須有安裝各種字體..呵呵

發表於 : 2004-05-15 21:49
Artemas
抱歉貼錯了....不是洗版別誤會~"~