1 頁 (共 1 頁)

[問題]2.0.21中文問題

發表於 : 2006-07-20 02:02
epstudio
[環境]
Apache: 2.2.2
PHP: 4.2.2
MySQL: 5.1.11(連線校對 utf8_unicode_ci)
phpBB2 資料庫連線校對 utf8_unicode_ci

[問題]
我是使用 http://www.phpbb-tw.net/phpbb/viewtopic.php?t=44770 下載的 2.0.21 全新安裝
由於文中已說這個版本是使用 UTF-8 編碼版本,而我再 MySQL 這邊也是一率使用 UTF-8 作編碼,在安裝上是沒什麼問題
但實際在使用時卻發生中文字亂碼的狀況...

狀況一:
到後台更改討論區名稱...
例如我設定為CFD 實驗網,儲存之後會變成CFD 實鿧?,而進入資料庫查看也真的是這樣...

狀況二:
測試張貼中文文章會發生錯誤...
ex.
標題 中文測試
內容 這是中文
送出之後會顯示...

代碼: 選擇全部

一般錯誤 
  
Could not insert new word matches

DEBUG MODE

INSERT INTO phpbb_search_wordmatch (post_id, word_id, title_match) SELECT 7, word_id, 0 FROM phpbb_search_wordlist WHERE word_text IN ('這是中文')

Line : 251
File : functions_search.php 
已經試過在 db.php 加上...

代碼: 選擇全部

$db->sql_query("SET NAMES utf-8");
$db->sql_query("SET CHARACTER_SET_database= utf-8");
$db->sql_query("SET CHARACTER_SET_CLIENT=utf-8");
$db->sql_query("SET CHARACTER_SET_RESULTS=utf-8");
但是依然如此...


不知道在這裡的先進是不是知道問題在哪裡...
先說聲謝謝囉~

發表於 : 2006-07-20 10:20
chiouss
我都是用 utf8 不是用 utf-8,到底要用哪個請看 manual。

發表於 : 2006-07-20 10:35
epstudio
謝謝~

已經解決~

發表於 : 2006-07-23 18:12
joeho
請問怎樣解決到0.0~我也遇到這問題

發表於 : 2006-08-08 22:25
d8828156
我也是發生相同情形,煩請告知,謝謝

發表於 : 2006-08-09 01:52
chiouss
上面不是寫得很清楚嗎 Orz

發表於 : 2006-08-09 06:23
d8828156
是說在db.php加上那段程式碼就可解決了嗎,那應該要加在哪呢?

發表於 : 2006-08-09 11:49
pyf12345
UTF-8跟utf8不同嗎 :-o

發表於 : 2006-08-09 13:32
chiouss
d8828156 寫:是說在db.php加上那段程式碼就可解決了嗎,那應該要加在哪呢?
請用搜尋...

Re: [問題]2.0.21中文問題

發表於 : 2006-08-19 16:06
Alexis
epstudio 寫:[環境]
Apache: 2.2.2
PHP: 4.2.2
MySQL: 5.1.11(連線校對 utf8_unicode_ci)
phpBB2 資料庫連線校對 utf8_unicode_ci

[問題]
我是使用 http://www.phpbb-tw.net/phpbb/viewtopic.php?t=44770 下載的 2.0.21 全新安裝
由於文中已說這個版本是使用 UTF-8 編碼版本,而我再 MySQL 這邊也是一率使用 UTF-8 作編碼,在安裝上是沒什麼問題
但實際在使用時卻發生中文字亂碼的狀況...

狀況一:
到後台更改討論區名稱...
例如我設定為CFD 實驗網,儲存之後會變成CFD 實鿧?,而進入資料庫查看也真的是這樣...

狀況二:
測試張貼中文文章會發生錯誤...
ex.
標題 中文測試
內容 這是中文
送出之後會顯示...

代碼: 選擇全部

一般錯誤 
  
Could not insert new word matches

DEBUG MODE

INSERT INTO phpbb_search_wordmatch (post_id, word_id, title_match) SELECT 7, word_id, 0 FROM phpbb_search_wordlist WHERE word_text IN ('這是中文')

Line : 251
File : functions_search.php 
已經試過在 db.php 加上...

代碼: 選擇全部

$db->sql_query("SET NAMES utf-8");
$db->sql_query("SET CHARACTER_SET_database= utf-8");
$db->sql_query("SET CHARACTER_SET_CLIENT=utf-8");
$db->sql_query("SET CHARACTER_SET_RESULTS=utf-8");
但是依然如此...



不知道在這裡的先進是不是知道問題在哪裡...
先說聲謝謝囉~
改成

代碼: 選擇全部

$db->sql_query("SET NAMES utf8");
$db->sql_query("SET CHARACTER_SET_database= utf8");
$db->sql_query("SET CHARACTER_SET_CLIENT=utf8");
$db->sql_query("SET CHARACTER_SET_RESULTS=utf8");
menu 指出的作法:

mysql> SHOW VARIABLES LIKE 'character_set_system';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| character_set_system | utf8 |
+----------------------+-------+