xoops亂碼問題


, ,

之前曾經處理過這個問題,但已經忘記作法,把今天的作法再紀錄一下。

XOOPS 的中文是用 latin1 將中文存到 phpMyAdmin,所以檢視時都是亂碼,真是討厭

所以,我們就來更正為utf8吧

一、顯示utf8中文,有時候設定沒用,本次就沒用啦^^!若出現正常中文,可以直接匯出使用。若不行,則用步驟二的方法。

vi /var/www/html/phpMyAdmin/libraries/select_lang.lib.php  

# 'utf-8'  => 'utf8',
'utf-8'  => 'latin1' 

二、用正規方法匯出資料庫,檢視是否為中文字體

mysqldump -u root  -pmysecret --default-character-set=latin1 xoops > xoops.sql

三、用編輯程式 NotePAD,開啟 scratch.sql 檔案,將裡面所有latin1取代為utf8,完成後,再匯入資料庫。

四、加入系統的參數,強制用 utf8 傳輸(紫色的語法

vi /var/www/html/xoops/class/database/mysqldatabase.php

@mysql_query("SET NAMES 'utf8'", $this->conn);

$result = mysql_query($sql, $this->conn)

 

PS:可以同步修改mysql的設定值

vi /etc/my.cnf

[client]
default-character-set=utf8

[mysqld]
default-character-set=utf8
init_connect='SET NAMES utf8'
 

 

參考文件

http://halladay5364.pixnet.net/blog/post/1420364-xoops-%E5%9C%A8phpmyadmin-%E8%B3%87%E6%96%99%E5%BA%AB%E9%A1%AF%E7%A4%BA%E6%AD%A3%E5%B8%B8%E4%B8%AD%E6%96%87