新聞中心
無憂主機(jī)深入淺出完美解決phpmyfaq亂碼問題
無憂主機(jī)(www.gle-technology.com)一直以來以分享、互助為目標(biāo),一如既往的根據(jù)無憂主機(jī)產(chǎn)品售后團(tuán)隊(duì)的維護(hù)經(jīng)驗(yàn)編寫原創(chuàng)的技術(shù)幫助文檔,并免費(fèi)提供給大家閱讀,如果你轉(zhuǎn)載此文,請注明出處,無憂主機(jī)將不甚感激。今天小編向大家宣布,終于完美全面的解決了phpmyfaq亂碼的問題。今天晚上2011/8/16日是一個(gè)值得慶賀的日子。下面是我對以往解決phpmyfaq亂碼問題的補(bǔ)充和延續(xù)。 Phpmyfaq亂碼問題有史以來就是一個(gè)“老大難”的問題。很多剛開始接觸phpmyfaq的朋友,我想都因?yàn)槲ǚ蚶蠋煹膕eowhy;很多又是遇到亂碼問題無法解決,而國內(nèi)相關(guān)的參考資料太少而被迫放棄。剛開始安裝phpmyfaq問答系統(tǒng)的朋友都有可能遇到了亂碼問題。關(guān)于這套優(yōu)秀的國外php開源的問答系統(tǒng)網(wǎng)上參考資料非常少,解決這個(gè)亂碼問題完全要靠站長自己琢磨。下面是我講解決phpmyfaq 2.6.17安裝亂碼問題的詳細(xì)解決過程和產(chǎn)生亂碼問題的詳細(xì)說明,希望能給你帶來幫助或提示。為了更多的人能看明白無憂主機(jī)的免費(fèi),我寫的很詳細(xì),文字可能會(huì)比較長,有的地方可能多啰嗦了點(diǎn),請多擔(dān)待。 一、phpmyfaq版本和php空間的選擇 關(guān)于phpmyfaq版本選擇和下載,網(wǎng)上一搜,哪實(shí)在是太多了,五花八門啥都有,該怎么選擇類?無憂主機(jī)(www.gle-technology.com)推薦站長到phpmyfaq官方網(wǎng)站上下載。使用最新的版本。推薦下載地址為: http://phpmyfaq.de/download.php?。 請選擇純linux環(huán)境下的php虛擬主機(jī),只有l(wèi)inux環(huán)境下才能讓phpmyfaq運(yùn)行的更流暢、更穩(wěn)定,也只有l(wèi)inux才配的上php編程語言。其它不多說了,想問為什么的站長就請閱讀“為什么選擇純Linux環(huán)境下的php空間?” 二、phpmyfaq亂碼(中文顯示亂碼)問題的分類 無憂主機(jī)(小編)根據(jù)自己的維護(hù)經(jīng)驗(yàn),phpmyfaq中文亂碼有兩種。一種是由于網(wǎng)頁編碼問題導(dǎo)致網(wǎng)頁中文亂碼,這種亂碼問題多發(fā)生在老版本中,其解決辦法也非常簡單只要把phpmyfaq模版網(wǎng)頁編碼統(tǒng)一另存為utf8就搞定了,這種phpmyfaq中文網(wǎng)頁亂碼問題網(wǎng)上解決的教程有非常之多。詳細(xì)的方法你可以參考“無憂主機(jī)教你解決Phpmyfaq網(wǎng)頁中文亂碼”。另一種就是由于數(shù)據(jù)庫編碼不一致導(dǎo)致中文顯示亂碼。解決這個(gè)問題,有些苦難。需你熟悉mysql數(shù)據(jù)庫的操作,還需要掌握如何轉(zhuǎn)換mysql數(shù)據(jù)庫編碼的方法。 三、解決由于數(shù)據(jù)庫編碼導(dǎo)致phpmyfaq亂碼的方法 為了方便分析講解,我把測試環(huán)境和版本說明一下: 本教程中使用的版本:phpmyfaq 2.6.17 服務(wù)器操作系統(tǒng):linux redhat Apache版本:Apache/2 Php版本:php?5.2.17 Zend版本:Zend Optimizer?3.3.9 Mysql數(shù)據(jù)庫:mysql?5.1.58 空間類型:使用無憂主機(jī)的linux環(huán)境下的香港獨(dú)立php空間 使用的空間的環(huán)境探針:PHP探針 現(xiàn)在,我們就來看看phpmyfaq頁面亂碼和管理后臺(tái)中的發(fā)生亂碼癥狀(見下圖),下面是剛剛安裝好的一個(gè)全新的版本,這是在很多虛擬主機(jī)安裝phpmyfaq時(shí)會(huì)遇到的phpmyfaq亂碼問題。關(guān)于phpmyfaq安裝方法,見“phpmyfaq開源問答(FAQ)系統(tǒng)快速安裝教程” 前臺(tái)頁面亂碼,中文變成了???,如下圖紅色方框所示: 網(wǎng)站管理后臺(tái)中“添別管理”里面的中文也都變成了亂碼。如下圖紅色方框內(nèi)所示: 這種問題,我想很多安裝使用過phpmyfaq 2.6.17的站長都遇到過吧!解決起來是不是有些頭疼?問百度,找谷歌都看不到合適的實(shí)戰(zhàn)教程來解決亂碼問題;網(wǎng)上很多教程都是淺嘗則止或?qū)懙姆浅:唵位蚴菍懙牟辉敿?xì),更是沒有圖片說明,所謂無圖無真相。接下來,無憂主機(jī)(www.gle-technology.com)將會(huì)把這個(gè)問題透徹的分析給大家看,讓你了解產(chǎn)生亂碼的原因?并讓你掌握解決phpmyfaq亂碼的方法。 由于phpmyfaq 2.6.17是完全由數(shù)據(jù)庫驅(qū)動(dòng),效率是非常高的,正因?yàn)槿绱?,我們通過上面的截圖觀察發(fā)現(xiàn),只要是寫入到mysql數(shù)據(jù)庫中的信息,然后在前臺(tái)頁面從數(shù)據(jù)庫中讀取顯示出來的數(shù)據(jù)就變成亂碼了(???)。而默認(rèn)的那些數(shù)據(jù)卻能正常顯示。這無疑就是因?yàn)閙ysql數(shù)據(jù)庫編碼不一致的問題導(dǎo)致的。要解決問題就是要把mysql數(shù)據(jù)庫編碼統(tǒng)一起來,推薦使用utf8編碼,mysql數(shù)據(jù)庫校驗(yàn)編碼為utf8-general_ci。請看下面詳細(xì)分析: Phpmyadmin亂碼產(chǎn)生的原因: 安裝的時(shí)候數(shù)據(jù)庫表是以latin1方式存儲(chǔ),數(shù)據(jù)庫表整理方式為latin1_swedish_ci(見下圖)。而虛擬主機(jī)服務(wù)器默認(rèn)的數(shù)據(jù)庫編碼是utf8,數(shù)據(jù)庫整理編碼為utf8-general_ci。這也是大部門國內(nèi)linux空間商采用的常用配置。由于phpmyadmin 2.6.17這個(gè)“洋貨”安裝的時(shí)候自動(dòng)以latin1編碼新建了數(shù)據(jù)庫表。我個(gè)人認(rèn)為這可能就是導(dǎo)致亂碼的原因。解決它,要么就在安裝前修改mysql數(shù)據(jù)庫表存儲(chǔ)編碼為utf8或安裝后把所有mysql數(shù)據(jù)庫表從latin1_swedish_ci編碼轉(zhuǎn)換為utf8-general_ci編碼即可解決問題。PS:我在網(wǎng)上看到過一篇,通過修改安裝包中的constants.php文件來解決mysql數(shù)據(jù)庫表存儲(chǔ)編碼的文章,我沒做個(gè)測試,如果有心的站長可以測試下,歡迎交流,340555017@qq.com。 如何把latin1_swedish_ci編碼轉(zhuǎn)換為utf8-general_ci編碼解決phpmyfaq 2.6.17亂碼問題類?經(jīng)過再三考慮,我用了一個(gè)最簡單的方法實(shí)現(xiàn),使用了一個(gè)php程序腳本,完美轉(zhuǎn)換。該方法已經(jīng)在無憂香港免備案php空間中實(shí)踐,順利通過。下面是這個(gè)mysql數(shù)據(jù)庫編碼轉(zhuǎn)換工具的下載鏈接: latin1_swedish_ci編碼轉(zhuǎn)換為utf8-general完美轉(zhuǎn)換工具(點(diǎn)擊下載) 該工具使用非常簡單,只需你配置下mysql數(shù)據(jù)庫信息,然后用域名進(jìn)行訪問這個(gè)php文件,一根煙的功夫就搞定了。工具包中有使用說明,請用戶使用前仔細(xì)閱讀。附一張latin1_swedish_ci編碼轉(zhuǎn)換為utf8-general_ci編碼成功后的截圖: 能力有限,關(guān)于mysql編碼轉(zhuǎn)換的方法就介紹到這,如果有mysql數(shù)據(jù)庫高手,請指導(dǎo)更簡單的數(shù)據(jù)庫編碼轉(zhuǎn)換的方法。交流QQ340555017。本教程已經(jīng)成功解決了phpmyfaq 2.6.17亂碼問題,其余版本未能一一測試,如你用的是其它版本請參考本基礎(chǔ)教程中提到的解決該mysql數(shù)據(jù)庫亂碼問題的思路。更多關(guān)于phpmyfaql免費(fèi)技術(shù)文檔請點(diǎn)擊:www.gle-technology.com/phpmyfaq。文章轉(zhuǎn)載,請注明出處。 純Linux環(huán)境下高端免備案[香港獨(dú)立IP地址]?php空間,僅僅只需199元一年起。商務(wù)中國域名核心代理直銷50元注冊國際頂級(jí)域名。
本文地址:http://www.gle-technology.com/phpmyfaq/3270.html