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