這兩天自己安裝了Moodle,想沒(méi)事學(xué)習學(xué)習。以前也曾經(jīng)在學(xué)校服務(wù)器上安裝過(guò)一個(gè)版本,瀏覽的時(shí)候發(fā)現Moodle默認安裝后,對中文支持得不是很好,在日歷項和語(yǔ)言選擇項中的中文會(huì )顯示成亂碼,上網(wǎng)查詢(xún)了一下,很多人說(shuō)解決的方法是將moodle/lang文件夾中的langconfig.php文件編碼從原來(lái)的utf-8改為ansi,我照例試了,卻發(fā)現此方法可以改變Moodle中日歷處的中文亂碼,但是顧此失彼,原先語(yǔ)言選擇欄中“簡(jiǎn)體中文”又變成了亂碼,所以我認為中文亂碼的原因不在此。
自己在研究了部分Moodle代碼后發(fā)現,Moodle其實(shí)是用Apache+PHP+MySQL構建的一個(gè)網(wǎng)絡(luò )教學(xué)平臺,Apache是服務(wù)器組件,MySQL是后臺數據庫,網(wǎng)頁(yè)技術(shù)則是采用PHP,所以Moodle中文亂碼的出現肯定是由于MySQL和PHP對中文編碼的支持不是很好。
查閱了相關(guān)Apache和MySQL中文編碼的設置,終于解決了該問(wèn)題。
1、不要像網(wǎng)上大多數人介紹的那樣把moodle/lang文件夾中的langconfig.php文件編碼形式改為ANSI,保留Moodle中文包里的原文件不變;
2、將moodle/php文件夾內的php.ini文件中的default_charset="iso-8859-1"改為default_charset="utf-8"
這樣就可以完美的解決Moodle中中文顯示亂碼的問(wèn)題。