[ WP ] 終於把 wp-useronline 這 plug-in 搞定了!
預官參考書愈看愈愛睏,晃著晃著突然想到乾脆來把我的 blog 中 useronline 介面會顯示亂碼的情況解決好了 :P
所謂的亂碼是指,我的 useronline 頁面只要碰到「中文」的地方都會變成問號「?」。這個問題其實已經困擾了我很久,各種稀奇古怪的偏方都試過了,就是沒效,好啦,說穿了就是我太嫩 XD
今天鼓起勇氣寄信詢問了高手 Goston ,原本以為從此這封信將石沉大海(因為我有過類似經驗 = =),沒想到他一秒就回信了,十足的效率及熱心 :D
高手不愧是高手,一語驚醒夢中人啊!他馬上診斷出這是資料庫編碼的問題,也提供了一帖藥方讓我試試。
原來 wp-useronline 這個 plug-in 在 active 之後會在 WordPress 資料庫中建立一個資料表 useronline,但這個資料表使用的編碼是”latin1″,而這個設定寫死在 useronline.php 中的 create_useronline_table 函式內,因此 goston 建議我把 latin1 改成我使用的編碼(UTF8),再重新啟動 plug-in 試試看。但不知道是什麼原因,這樣改掉之後,啟動 plug-in 時資料表會建立失敗,跑出一堆 WordPress Database Error = =。
於是我把 useronline.php 恢復原狀,讓他用「天然」的方法順利建立資料表後,跑進資料庫研究研究。後來發現只要把「亂源」 useronline 資料表中的 location 欄位的編碼改成 UTF8 即可!
天啊!困擾我多年(嗯.. 好像還不到一年 XD)的問題竟然就這樣解決了!
當初怎麼沒想到是資料庫的問題呢?真是太嫩了.. 太嫩了…
很感謝 Goston 繁忙中抽空回信,也點醒了我問題到底出在哪兒。希望這篇對擁有相同困擾的人會有所幫助 :)
Plug-in wp-useronline
官方網址:http://www.lesterchan.net/portfolio/programming.php
歷史上的今天
- 【2009】農曆新年 - 2009
- wp-useronline Reset 加強版 - 2007
