[問題]phpBB 2.0.11 多國語言修正
版主: 版主管理群
版面規則
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
-
GarbageKing
- 星球普通子民

- 文章: 6
- 註冊時間: 2004-12-08 13:54
[問題]phpBB 2.0.11 多國語言修正
虽然已經改了, 還是無法在 Administration Panel > User Admin > Management 里显示出該位中文使用者的资料.
虽然可以在搜索名單里显示出來, 但是只要选择中文的使用者名称便會出沒有該位使用者的信息.
還有在 Preview 里也無法显示出中文信息.
虽然可以在搜索名單里显示出來, 但是只要选择中文的使用者名称便會出沒有該位使用者的信息.
還有在 Preview 里也無法显示出中文信息.
最後由 GarbageKing 於 2004-12-09 13:18 編輯,總共編輯了 2 次。
-
GarbageKing
- 星球普通子民

- 文章: 6
- 註冊時間: 2004-12-08 13:54
[問題]phpBB 2.0.11 多國語言修正
虽然已經用 "phpBB 2.0.11 多國語言修正"修改了, 也可以使用中文名字注冊了, 但是還是有一些問題出現. 例如當我用"測試人員"這個名字注冊, 虽然可以成功注冊, 但是在确認信件里使用者的姓名卻是"測試人?". 當他啓動了他的户口後也無法進入, 我嘗試在使用者管理那里尋找他的资料也显示没有這位使用者.
奇怪的是, 不是每個中文字都出現問題, 有些中文字可以成功注冊和使用.
請問有誰能帮帮忙嗎?
還有在編輯文章按了預覧後, 虽然可以在預覧里显示出中文但是在編輯文章的文章內容卻變变成乱碼.
謝謝.
奇怪的是, 不是每個中文字都出現問題, 有些中文字可以成功注冊和使用.
請問有誰能帮帮忙嗎?
還有在編輯文章按了預覧後, 虽然可以在預覧里显示出中文但是在編輯文章的文章內容卻變变成乱碼.
謝謝.
-
GarbageKing
- 星球普通子民

- 文章: 6
- 註冊時間: 2004-12-08 13:54
你需要亲自修改你的 database 里的字數的數量.
phpbb_posts_text 里的 post_subject
phpbb_topics 里的 topic_title
另外, 你還需要修改 posting_body.tpl 里的:
(大約在 268 行)
<tr>
<td width="22%" align="right" class="row1"><span class="explaintitle">{L_SUBJECT}:</span></td>
<td class="row2" width="78%"><input type="text" name="subject" size="45" maxlength="240" style="width:450px" tabindex="2" class="post" value="{SUBJECT}" />
</td>
</tr>
將 maxlength 改成你再 phpbb_posts_text 的 post_subject 里的數量.
ps: 我的網站也是用 FI Subice.
phpbb_posts_text 里的 post_subject
phpbb_topics 里的 topic_title
另外, 你還需要修改 posting_body.tpl 里的:
(大約在 268 行)
<tr>
<td width="22%" align="right" class="row1"><span class="explaintitle">{L_SUBJECT}:</span></td>
<td class="row2" width="78%"><input type="text" name="subject" size="45" maxlength="240" style="width:450px" tabindex="2" class="post" value="{SUBJECT}" />
</td>
</tr>
將 maxlength 改成你再 phpbb_posts_text 的 post_subject 里的數量.
ps: 我的網站也是用 FI Subice.
Re: [問題]phpBB 2.0.11 多國語言修正
我跟你有同樣的問題, 好像中文會員名只是顯示3個字, 第4個開始就亂碼了GarbageKing 寫:虽然已經用 "phpBB 2.0.11 多國語言修正"修改了, 也可以使用中文名字注冊了, 但是還是有一些問題出現. 例如當我用"測試人員"這個名字注冊, 虽然可以成功注冊, 但是在确認信件里使用者的姓名卻是"測試人?". 當他啓動了他的户口後也無法進入, 我嘗試在使用者管理那里尋找他的资料也显示没有這位使用者.
奇怪的是, 不是每個中文字都出現問題, 有些中文字可以成功注冊和使用.
請問有誰能帮帮忙嗎?
還有在編輯文章按了預覧後, 虽然可以在預覧里显示出中文但是在編輯文章的文章內容卻變变成乱碼.
謝謝.
我用"測試號一"及"测试号一"簡繁2個登記的, 登記後變成"測試號&"及"测试号&"
另外, 我在後台可以查看會員資料, 確認信件後可以登入, 但從頭到尾第4個字都是亂碼. 而確認信件中, 4個字全亂碼
最後由 Moopz 於 2004-12-11 01:22 編輯,總共編輯了 2 次。
-
GarbageKing
- 星球普通子民

- 文章: 6
- 註冊時間: 2004-12-08 13:54
varchar 最多可以 255. (byte)
我把它改成 240. (你看我的 maxlength 就知道了)
至于一般是改多少, 我也不知道. 还有是代表多少個中文字, 我也不知道.
這是解释 char 和 varchar 的一篇文章.
http://dev.mysql.com/doc/mysql/en/CHAR.html
你可以放心去改吧, 將原本的數字記录下來. 有問題便可以改回去.
現在我的問題還是那兩個, 就是有些中文字注冊了後無法使用. 和在 preview 後, 原本的內容變成乱碼. 其它的都没有問題. 唉... 如果沒有人知道哪里除了問題, 只好自己去學 php 了...
我把它改成 240. (你看我的 maxlength 就知道了)
至于一般是改多少, 我也不知道. 还有是代表多少個中文字, 我也不知道.
這是解释 char 和 varchar 的一篇文章.
http://dev.mysql.com/doc/mysql/en/CHAR.html
你可以放心去改吧, 將原本的數字記录下來. 有問題便可以改回去.
現在我的問題還是那兩個, 就是有些中文字注冊了後無法使用. 和在 preview 後, 原本的內容變成乱碼. 其它的都没有問題. 唉... 如果沒有人知道哪里除了問題, 只好自己去學 php 了...
-
GarbageKing
- 星球普通子民

- 文章: 6
- 註冊時間: 2004-12-08 13:54
2.0.10 多國語言修正
2.0.11 多國語言修正
我發現login.php跟functions.php在2.0.10時要修改, 但2.0.11時卻沒了...難道問題出在這? 還是2.0.11已經自動修正了?
代碼: 選擇全部
##############################################################
## MOD Title: Multi-Language Fix
## MOD Author: Scorpion <formosa@ms20.url.com.tw> http://ibf.myweb.hinet.net/
## Update to 2.0.10: WeiChou
## Conflation: William Leung <admin@ke5475.net> http://ke5475.net
## MOD Description: Fix the display problems on multi-language
## MOD Version: 2.0.10
##
## Installation Level: Easy
## Installation Time: 10 Minutes
## Files To Edit: 7
## login.php
## posting.php
## includes/functions.php
## includes/functions_post.php
## includes/usercp_register.php
## includes/bbcode.php
## admin/admin_users.php
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
#
#-----[ OPEN ]------------------------------------------
#
login.php
#
#-----[ FIND ]------------------------------------------
#
$username = isset($HTTP_POST_VARS['username']) ? trim(htmlspecialchars($HTTP_POST_VARS['username'])) : '';
#
#-----[ REPLACE WITH ]----------------------------------
#
$username = isset($HTTP_POST_VARS['username']) ? str_replace("&","&",trim(htmlspecialchars($HTTP_POST_VARS['username']))) : '';
#
#-----[ OPEN ]------------------------------------------
#
posting.php
#
#-----[ FIND ]------------------------------------------
#
$poll_options = array();
if ( !empty($HTTP_POST_VARS['poll_option_text']) )
#
#-----[ BEFORE, ADD ]-----------------------------------
#
$subject = ereg_replace("&","&",$subject);
$message = ereg_replace("&","&",$message);
$poll_title = ereg_replace("&","&",$poll_title);
#
#-----[ FIND ]------------------------------------------
#
$poll_options[$option_id] = htmlspecialchars(trim(stripslashes($option_text)));
#
#-----[ REPLACE WITH ]----------------------------------
#
$poll_options[$option_id] = ereg_replace("&","&",htmlspecialchars(trim(stripslashes($option_text))));
#
#-----[ FIND ]------------------------------------------
#
$poll_options[] = htmlspecialchars(trim(stripslashes($HTTP_POST_VARS['add_poll_option_text'])));
#
#-----[ REPLACE WITH ]----------------------------------
#
$poll_options[] = ereg_replace("&","&",htmlspecialchars(trim(stripslashes($HTTP_POST_VARS['add_poll_option_text']))));
#
#-----[ OPEN ]------------------------------------------
#
includes/functions.php
#
#-----[ FIND ]------------------------------------------
#
$user = trim(htmlspecialchars($user));
#
#-----[ REPLACE WITH ]----------------------------------
#
$user = str_replace("&","&",trim(htmlspecialchars($user)));
#
#-----[ OPEN ]------------------------------------------
#
includes/functions_post.php
#
#-----[ FIND ]------------------------------------------
#
$subject = htmlspecialchars(trim($subject));
#
#-----[ REPLACE WITH ]----------------------------------
#
$subject = ereg_replace("&","&",htmlspecialchars(trim($subject)));
#
#-----[ FIND ]------------------------------------------
#
$poll_title = htmlspecialchars(trim($poll_title));
#
#-----[ REPLACE WITH ]----------------------------------
#
$poll_title = ereg_replace("&","&",htmlspecialchars(trim($poll_title)));
#
#-----[ FIND ]------------------------------------------
#
$option_text = str_replace("\'", "''", htmlspecialchars($option_text));
#
#-----[ AFTER, ADD ]------------------------------------
#
$option_text = str_replace("&","&", $option_text);
#
#-----[ OPEN ]------------------------------------------
#
includes\usercp_register.php
#
#-----[ FIND ]------------------------------------------
#
$$var = trim(htmlspecialchars($HTTP_POST_VARS[$param]));
#
#-----[ REPLACE WITH ]----------------------------------
#
$$var = str_replace("&","&",trim(htmlspecialchars($HTTP_POST_VARS[$param])));
#
#-----[ OPEN ]------------------------------------------
#
includes/bbcode.php
#
#-----[ FIND ]------------------------------------------
#
$code_entities_match = array('#<#', '#>#', '#"#', '#:#', '#\[#', '#\]#', '#\(#', '#\)#', '#\{#', '#\}#');
$code_entities_replace = array('<', '>', '"', ':', '[', ']', '(', ')', '{', '}');
#
#-----[ REPLACE WITH ]----------------------------------
#
$code_entities_match = array('#<#', '#>#', '#"#', '#:#', '#\(#', '#\)#');
$code_entities_replace = array('<', '>', '"', ':', '(', ')');
#
#-----[ OPEN ]------------------------------------------
#
admin/admin_users.php
#
#-----[ FIND ]------------------------------------------
#
$username = ( !empty($HTTP_POST_VARS['username']) ) ? trim(strip_tags(htmlspecialchars($HTTP_POST_VARS['username']))) : '';
#
#-----[ REPLACE WITH ]----------------------------------
#
$username = ( !empty($HTTP_POST_VARS['username']) ) ? ereg_replace("&","&",trim(strip_tags(htmlspecialchars($HTTP_POST_VARS['username'])))) : '';
#
#-----[ FIND ]------------------------------------------
#
$location = htmlspecialchars(stripslashes($location));
$occupation = htmlspecialchars(stripslashes($occupation));
$interests = htmlspecialchars(stripslashes($interests));
$signature = htmlspecialchars(stripslashes($signature));
#
#-----[ REPLACE WITH ]----------------------------------
#
$location = ereg_replace("&","&",htmlspecialchars(stripslashes($location)));
$occupation = ereg_replace("&","&",htmlspecialchars(stripslashes($occupation)));
$interests = ereg_replace("&","&",htmlspecialchars(stripslashes($interests)));
$signature = ereg_replace("&","&",htmlspecialchars(stripslashes($signature)));
#
#-----[ FIND ]------------------------------------------
#
$username = htmlspecialchars(stripslashes($username));
#
#-----[ REPLACE WITH ]----------------------------------
#
$username = ereg_replace("&","&",htmlspecialchars(stripslashes($username)));
#
#-----[ FIND ]------------------------------------------
#
$location = htmlspecialchars(stripslashes($location));
$occupation = htmlspecialchars(stripslashes($occupation));
$interests = htmlspecialchars(stripslashes($interests));
$signature = htmlspecialchars(stripslashes($signature));
#
#-----[ REPLACE WITH ]----------------------------------
#
$location = ereg_replace("&","&",htmlspecialchars(stripslashes($location)));
$occupation = ereg_replace("&","&",htmlspecialchars(stripslashes($occupation)));
$interests = ereg_replace("&","&",htmlspecialchars(stripslashes($interests)));
$signature = ereg_replace("&","&",htmlspecialchars(stripslashes($signature)));
#
#-----[ SAVE/CLOSE ALL FILES ]--------------------------
# EoM代碼: 選擇全部
#
#-----[ OPEN 打開 ]------------------------------------------------
#
posting.php
#
#-----[ FIND 尋找 ]------------------------------------------------
#618 列
$poll_options = array();
#
#-----[ BEFORE ADD 之前, 加上 ]------------------------------------
# 預覽標題、預覽後欄框文章內容及標題、投票議題
#
$subject = ereg_replace("&","&",$subject);
$message = ereg_replace("&","&",$message);
$poll_title = ereg_replace("&","&",$poll_title);
#
#-----[ FIND 尋找 ]------------------------------------------------
#633 列
$poll_options[$option_id] = htmlspecialchars(trim(stripslashes($option_text)));
#
#-----[ REPLACE WITH 替換 ]----------------------------------------
# 預覽之後的投票選項 (option)、增加選項之後的舊選項、更新選項
#
$poll_options[$option_id] = ereg_replace("&","&",htmlspecialchars(trim(stripslashes($option_text))));
#
#-----[ FIND 尋找 ]------------------------------------------------
#640 列
$poll_options[] = htmlspecialchars(trim(stripslashes($HTTP_POST_VARS['add_poll_option_text'])));
#
#-----[ REPLACE WITH 替換 ]----------------------------------------
# 新增投票選項之後欄框裡面的選項內容
#
$poll_options[] = ereg_replace("&","&",htmlspecialchars(trim(stripslashes($HTTP_POST_VARS['add_poll_option_text']))));
#
#-----[ OPEN 打開 ]------------------------------------------------
#
includes\functions_post.php
#
#-----[ FIND 尋找 ]------------------------------------------------
#152 列
$subject = htmlspecialchars(trim($subject));
#
#-----[ REPLACE WITH 替換 ]----------------------------------------
# 發表之後的主題標題
#
$subject = ereg_replace("&","&",htmlspecialchars(trim($subject)));
#
#-----[ FIND 尋找 ]------------------------------------------------
#179 列
$poll_title = htmlspecialchars(trim($poll_title));
#
#-----[ REPLACE WITH 替換 ]----------------------------------------
# 發表之後的投票議題
#
$poll_title = ereg_replace("&","&",htmlspecialchars(trim($poll_title)));
#
#-----[ FIND 尋找 ]------------------------------------------------
#331 列
$option_text = str_replace("\'", "''", htmlspecialchars($option_text));
#
#-----[ AFTER, ADD 之後, 加上 ]------------------------------------
# 發表之後的投票選項 (2.0.4 起新產生的問題)
#
\n$option_text = str_replace("&","&", $option_text);
#
#-----[ OPEN 打開 ]------------------------------------------------
#
includes\usercp_register.php
#
#-----[ FIND 尋找 ]------------------------------------------------
#108 列
$$var = trim(htmlspecialchars($HTTP_POST_VARS[$param]));
#
#-----[ REPLACE WITH 替換 ]----------------------------------------
# 使用者名稱 (2.0.4 起新產生的問題)
#
$$var = str_replace("&","&",trim(htmlspecialchars($HTTP_POST_VARS[$param])));
#
#-----[ OPEN 打開 ]------------------------------------------------
#
includes\bbcode.php
#
#-----[ FIND 尋找 ]------------------------------------------------
#
$curr_pos = strpos($text, "[", $curr_pos);
#
#-----[ REPLACE WITH 替換 ]----------------------------------------
# 引言修正
# http://phpbb-tw.net/phpbb/viewtopic.php?p=102297#102297
#
if ( ord(substr($text, $curr_pos, 1)) > 0xa0 )
{
$curr_pos += 2;
continue;
}
else if ( substr($text, $curr_pos, 1) != '[' )
{
$curr_pos++;
continue;
}
#
#-----[ FIND 尋找 ]------------------------------------------------
#483 列
$code_entities_match = array('#<#', '#>#', '#"#', '#:#', '#\[#', '#\]#', '#\(#', '#\)#', '#\{#', '#\}#');
$code_entities_replace = array('<', '>', '"', ':', '[', ']', '(', ')', '{', '}');
#
#-----[ REPLACE WITH 替換 ]----------------------------------------
# code標籤內的某些中文字變成 ?#91; ?#93; ?#123; ?#125; 問題
#
$code_entities_match = array('#<#', '#>#', '#"#', '#:#', '#\(#', '#\)#');
$code_entities_replace = array('<', '>', '"', ':', '(', ')');
#
#-----[ OPEN 打開 ]------------------------------------------------
#
admin\admin_users.php
#
#-----[ FIND 尋找 ]------------------------------------------------
#219 列
$username = ( !empty($HTTP_POST_VARS['username']) ) ? trim(strip_tags(htmlspecialchars($HTTP_POST_VARS['username']))) : '';
#
#-----[ REPLACE WITH 替換 ]----------------------------------------
#
$username = ( !empty($HTTP_POST_VARS['username']) ) ? ereg_replace("&","&",trim(strip_tags(htmlspecialchars($HTTP_POST_VARS['username'])))) : '';
#
#-----[ FIND 尋找 ]------------------------------------------------
#285 列
$location = htmlspecialchars(stripslashes($location));
$occupation = htmlspecialchars(stripslashes($occupation));
$interests = htmlspecialchars(stripslashes($interests));
$signature = htmlspecialchars(stripslashes($signature));
#
#-----[ REPLACE WITH 替換 ]----------------------------------------
#
$location = ereg_replace("&","&",htmlspecialchars(stripslashes($location)));
$occupation = ereg_replace("&","&",htmlspecialchars(stripslashes($occupation)));
$interests = ereg_replace("&","&",htmlspecialchars(stripslashes($interests)));
$signature = ereg_replace("&","&",htmlspecialchars(stripslashes($signature)));
#
#-----[ FIND 尋找 ]------------------------------------------------
#708 列
$username = htmlspecialchars(stripslashes($username));
#
#-----[ REPLACE WITH 替換 ]----------------------------------------
#
$username = ereg_replace("&","&",htmlspecialchars(stripslashes($username)));
#
#-----[ FIND 尋找 ]------------------------------------------------
#
$location = htmlspecialchars(stripslashes($location));
$occupation = htmlspecialchars(stripslashes($occupation));
$interests = htmlspecialchars(stripslashes($interests));
$signature = htmlspecialchars(stripslashes($signature));
#
#-----[ REPLACE WITH 替換 ]----------------------------------------
#719 列
$location = ereg_replace("&","&",htmlspecialchars(stripslashes($location)));
$occupation = ereg_replace("&","&",htmlspecialchars(stripslashes($occupation)));
$interests = ereg_replace("&","&",htmlspecialchars(stripslashes($interests)));
$signature = ereg_replace("&","&",htmlspecialchars(stripslashes($signature)));
#
#-----[ FIND 尋找 ]------------------------------------------------
#741 列
$location = htmlspecialchars($this_userdata['user_from']);
$occupation = htmlspecialchars($this_userdata['user_occ']);
$interests = htmlspecialchars($this_userdata['user_interests']);
#
#-----[ REPLACE WITH 替換 ]----------------------------------------
# 從管理控制台編輯會員資料時,來自、 職業、 興趣三個欄位的多國文字顯示問題
#
$location = ereg_replace("&","&",htmlspecialchars($this_userdata['user_from']));
$occupation = ereg_replace("&","&",htmlspecialchars($this_userdata['user_occ']));
$interests = ereg_replace("&","&",htmlspecialchars($this_userdata['user_interests']));
#
#-----[ OPEN 打開 ]------------------------------------------------
#
includes/functions.php
#
#-----[ FIND 尋找 ]------------------------------------------------
# (2.0.11 起新產生的問題)
$username = htmlspecialchars(rtrim(trim($username), "\\\"));
#
#-----[ REPLACE WITH 替換 ]----------------------------------------
#
$username = ereg_replace("&","&",htmlspecialchars(trim(trim($username), "\\\")));
#
#-----[ SAVE/CLOSE ALL FILES 儲存/關閉所有檔案 ]-------------------
#
# EoM 外掛修正結束2.0.11 版的多國語言修正有改 functions.php,沒改 login.php
代碼: 選擇全部
#
#-----[ OPEN 打開 ]------------------------------------------------
#
includes/functions.php
#
#-----[ FIND 尋找 ]------------------------------------------------
# (2.0.11 起新產生的問題)
$username = htmlspecialchars(rtrim(trim($username), "\\\"));
#
#-----[ REPLACE WITH 替換 ]----------------------------------------
#
$username = ereg_replace("&","&",htmlspecialchars(trim(trim($username), "\\\")));-
GarbageKing
- 星球普通子民

- 文章: 6
- 註冊時間: 2004-12-08 13:54
我們要不要自行修正, 還是2.0.11已經預設了?webspirit 寫:2.0.11 版的多國語言修正有改 functions.php,沒改 login.php代碼: 選擇全部
# #-----[ OPEN 打開 ]------------------------------------------------ # includes/functions.php # #-----[ FIND 尋找 ]------------------------------------------------ # (2.0.11 起新產生的問題) $username = htmlspecialchars(rtrim(trim($username), "\\")); # #-----[ REPLACE WITH 替換 ]---------------------------------------- # $username = ereg_replace("&","&",htmlspecialchars(trim(trim($username), "\\")));
-
napoleon0319
- 星球普通子民

- 文章: 20
- 註冊時間: 2003-11-28 10:19
- 來自: Mordor
- 聯繫:

