筍子工作雜記

十二月 24, 2006

phpMyAdmin 開啟 UTF-8 編碼功能

Filed under: Database — shinnlu @ 4:31 下午

這一陣子為了要讀取 UTF-8 的資料庫,而下載了 phpMyAdmin 的新版本,沒想到新版的操作方式還真麻煩,基本的伺服器設定很簡單,但還有一些雜七雜八的設定完全搞不懂,只好退而求其次,使用原本的 phpMyAdmin 2.5.7-pl1,上網 google 一下,在 neo’s Blog 找到一篇phpMyAdmin 開啟 UTF-8 編碼相關功能
主要的設定如 Neo 所述如下:
1.打開 config.inc.php ,把以下的變數都改為 utf-8 :
$cfg['DefaultLang'] = ‘utf-8′;
$cfg['DefaultCharset'] = ‘utf-8′;

2.這個看看裡面有沒有 utf-8 ,沒有的話就自己加進去:
$cfg['AvailableCharsets'] = array(
:
‘utf-8′,
:);

3.把AllowAnywhereRecoding = FALSE 改成 TRUE
$cfg['AllowAnywhereRecoding'] = TRUE;
也許是我的版本(2.5.7-pl1)和 Neo(2.5.5 pl-1) 不一樣的關係,改了上述設定還是沒有出現正確的下拉選單,看了一下程式碼
/main.php
if (isset($cfg['AllowAnywhereRecoding']) && $cfg['AllowAnywhereRecoding']
&& $allow_recoding) {…}

要讓語言下拉選單出現的依據是 AllowAnywhereRecoding、allow_recoding 兩個變數,第一個變數在測試時是成功的,因為步驟3己經設定過了,但是 allow_recoding 卻不成立,利用 PowerGrep 搜尋全部的程式碼發現因為 allow_recoding 設定的先後順序錯誤,導致選單無法出現,在這邊提供不負責的懶人解法如下:
$allow_recoding = TRUE;//force to show language menu
if (isset($cfg['AllowAnywhereRecoding']) && $cfg['AllowAnywhereRecoding'] && $allow_recoding)

把第一行加上去就可以強制選單出現了

無迴響 »

仍無迴響。

此篇文章迴響的訂閱源料 TrackBack URL

發表迴響

Powered by WordPress