Like us on Facebook?

讓 phpMyAdmin 顯示 BIG5 碼資料

目的: 從老舊 AppServ 移植 BIG5 碼資料庫到 Linux 系統上
Windows 環境: AppServ (版本已不可考)
Linux 環境: Feodra 9, MySQL 5.0.77, phpMyAdmin 3.3.3

Step 1. 從 Windows 系統的 phpMyAdmin 匯出資料庫, 假設匯出檔名為: mydb.sql
Step 2. 將 mydb.sql 匯入 Linux 系統下的 MySQL Server. 匯入前注意 mysql.db 的 CREATE TABLE 陳述, 若有設置 DEFAULT CHARSET 須確認是否為 DEFAULT CHARSET=latin1
mysql -u root -p < mydb.sql
Step 3. 安裝 phpMyAdmin, 並調整相關設置以顯示 BIG5 編碼資料
cd /path/to/phpMyAdmin
cp config.sample.inc.php config.inc.php
vi config.inc.php
#設置 blowfish_secret 並取消 advanced features 所有註解, 編輯結果如下:
$cfg['blowfish_secret'] = 'your_secret';
/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'pmapass';
/* Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
mysql -u root -p < scripts/create_tables.sql
mysql -u root -p -A mysql

mysql> grant all privileges on phpadmin.* to pma@localhost identified by 'pmapass';
mysql> flush privileges;
mysql> exit
vi libraries/database_interface.lib.php
#找到 SET CHARACTER SET, 將 utf8 改為 latin1
PMA_DBI_query("SET CHARACTER SET 'latin1';", $link, PMA_DBI_QUERY_STORE);
cd lang
sed -i 's/utf-8/big5/' chinese_traditional-utf-8.inc.php
echo "$(iconv -f utf8 -t big5 chinese_traditional-utf-8.inc.php)" > chinese_traditional-utf-8.inc.php
Step 4. 登入 Linux 主機上的 phpMyAdmin, 選擇語言為 中文 - Chinese Traditional, 登入後可正常顯示 BIG5 碼資料庫內容
-
ps. 從 AppServ 移植過來的 PHP 程式碼, 需在 mysql_connect() 之後執行 mysql_query("SET NAMES 'latin1'", $conn); 才能正常顯示 BIG5 碼資料

No related article available

0 意見