1. 程式人生 > >徹底解決Moodle上傳檔案中文檔名亂碼解決方法

徹底解決Moodle上傳檔案中文檔名亂碼解決方法

2 推薦 moodle對中文的支援不是很好,這是公認的BUG。在網上可以找到一些解決辦法,其中最簡單的做法是: ------------------------------- config.php加入
$CFG->unicodecleanfilename = true; ===============================1.9試了下只要改這個就可以了
即可正常上傳中文件名 ------------------------------ 我在lib/moodlelib.php下也發現了這樣一段說明,原來是官方的解決方案: /**
* Cleans a given filename by removing suspicious or troublesome characters
* Only these are allowed: alphanumeric _ - .
* Unicode characters can be enabled by setting $CFG->unicodecleanfilename = true in config.php
*
* WARNING: unicode characters may not be compatible with zip compression in backup/restore,
*          because native zip binaries do weird character conversions. Use PHP zipping instead.
*
* @param string $string  file name
* @return string cleaned file name
*/
    其實這樣並不是很徹底的方案。如果在插入超連結時選擇本站檔案,返回的檔案目錄中中文檔名還是亂碼的。不過我發現只要在瀏覽器中選擇utf-8編碼,還是可以正確瀏覽的,但這樣畢竟不方便。     再也找不到相關的資料了,於是自力更生,我找了點PHP的資料,直接修改了coursefiles.php檔案(lib/editor/htmlarea/coursefiles.php),在第二行加上這樣一句: @header("Content-Type: text/html; charset=utf-8"); 再次測試網頁,發現瀏覽器就可以自動選擇utf-8編碼,不再出現亂碼了。     終於算徹底解決中文檔名亂碼的問題。