筍子工作雜記

12月 24, 2006

phpMyAdmin 開啟 UTF-8 編碼功能

歸類於: Database — shinnlu @ 4:31 pm

phpMyAdmin 強制秀出語言編碼選單

phpMyAdmin 強制秀出語言編碼選單

這一陣子為了要讀取 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 設定的先後順序錯誤,導致選單無法出現,在這邊提供不負責的懶人解法如下:

  1. $allow_recoding = TRUE;//force to show language menu
  2. if (isset($cfg['AllowAnywhereRecoding']) && $cfg['AllowAnywhereRecoding'] && $allow_recoding)

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

尚無評論 »

尚無評論。

RSS feed 此篇文章的評論。 TrackBack URL

發表您的評論

Powered by WordPress counter stats Total Hits:49627 | Total Hits Today:50 | IP Visited:16207 | Unique referers:10282