1 頁 (共 1 頁)

[問題] 請問文章有部份中文會產生�?的亂碼(已解決)

發表於 : 2006-05-11 13:14
ronstem
抱歉,我已經有先搜尋過,但找不到與我相同的情況,恕在下不才
這是連結http://firewing.cafe150.com/phpBB2/viewtopic.php?t=2請各位大大參詳
是部份中文的編碼有問題,真不知該如何下手,因為這是第一次架論壇,還請多指教

phpBB2:2.0.19
php:4.3.9
phpMyAdmin:2.6.2 pl1
MySQL:4.1.12

這是放在虛擬空間的資料改法

發表於 : 2006-05-11 13:30
chiouss
哈!你這個問題是因為你用 MySQL 4.1 以後的版本,把 utf8 轉 latin1 造成的。請搜尋 (站內 or Google) 'SET NAMES utf8'

發表於 : 2006-05-11 14:38
ronstem
我已經試了下面步驟,結果更糟,全部都亂碼,不知如何是好

開啟 ./includes/db.php

尋找
?>

在之前增加
$db->sql_query("SET NAMES utf8;");
$db->sql_query("SET CHARACTER_SET_CLIENT=utf8;");
$db->sql_query("SET CHARACTER_SET_RESULTS=utf8;");


要改什麼檔案的code?真的不知

發表於 : 2006-05-11 17:05
chiouss
你需要把 db 裡面的資料用 mysqldump (或是其他方法) 還原出來,再轉為 utf8 放回去。

發表於 : 2006-05-11 21:56
ronstem
chiouss 寫:你需要把 db 裡面的資料用 mysqldump (或是其他方法) 還原出來,再轉為 utf8 放回去。
感謝ch大,所提供的方法。這邊我用力的搜尋後,找到倉木麻衣大大,所提供的方法
請參考此串討論http://phpbb-tw.net/phpbb/viewtopic.php ... =mysqldump

將install/schemas/mysql_schema.sql裡的每一個CREATE TABLE最後加上ENGINE=MyISAM DEFAULT CHARSET=utf8
例如:
代碼:
CREATE TABLE phpbb_user_group (
group_id mediumint(8) DEFAULT '0' NOT NULL,
user_id mediumint(8) DEFAULT '0' NOT NULL,
user_pending tinyint(1),
KEY group_id (group_id),
KEY user_id (user_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

在install/install.php裡這句之前
代碼:
$sql_query = @fread(@fopen($dbms_schema, 'r'), @filesize($dbms_schema));

加上
代碼:
$sql_query = "ALTER DATABASE `$dbname` CHARACTER SET utf8";
if (!($result = $db->sql_query($sql_query)))
{
$error = $db->sql_error();

page_header($lang['Install'], '');
page_error($lang['Installer_Error'], $lang['Install_db_error'] . '<br />' . $error['message']);
page_footer();
exit;
}

目的是確認整個資料庫的編碼為utf8
修改includes/db.php, 在 ?>之前加上
代碼:
$db->sql_query("SET NAMES utf8;");
$db->sql_query("SET CHARACTER_SET_CLIENT=utf8;");
$db->sql_query("SET CHARACTER_SET_RESULTS=utf8;");

在全新安裝的系統之下, 上述的執行結果正常
不論是在phpbb裡觀看或是在phMyadmin(2.6.1 rc2)裡, 中文字都很正常, 用phpMyadmin輸出的結果也正常


~倉木麻衣~ 在 2006-02-25 02:24 作了第 1 次修改

順便附上用好的網址http://firewing.cafe150.com/phpBB2/viewtopic.php?t=2供參考(真的沒有亂碼了也,好感動歐 ^6^)[/url]