最近在寫一個相似博客的系統,使用了ckeditor和ckfinder,可是發現ckfinder在上傳中文文件名的文件過程當中會出現中文亂碼的狀況.php
因而百度google乎,發現大多數的解決辦法都是將文件名稱命名成時間.但但是可可是,我是一名地道的中國人啊,爲啥不行讓我使用中文的文件名.linux
研究下ckfinder.windows
在core/connector/php/php5/CommandHandler/FileUpload.php內發現..大概53行左右.app
而後我試圖改變這裏的文件編碼.函數
增長了$uploadedFile['name'] = iconv(「utf-8″,」gbk」, $uploadedFile['name']);this
可是發現這樣會致使上傳的文件名稱是正確的,可是在ckfinder裏面顯示的文件名稱是錯誤的.google
因而乎去看這個convertToFilesystemEncoding方法,這個方法在,core\connector\php\php5\Utils\FileSystem.php中編碼
404-427行,code
函數大概的意思是 首先拿到配置文件裏面配置的當前系統編碼.blog
若是設置的爲utf8 那麼直接輸出,若是設置的是ISO-8859-1,編碼後輸出,若是設置的是其餘的編碼,那麼經過iconv函數轉換後輸出.
打開配置文件,根目錄下的config.php.找到這個配置選項.大概在258行.將原始的utf-8改爲gbk(簡體中文window7系統.),中文亂碼問題順利解決.
這個配置到底應該怎麼配置.取決於你當前系統對中文文件名稱的編碼.默認的windows系統應該是gbk,若是是linux系統.在沒設置的狀況下是utf8 也有可能設置成了gbk.簡單修改配置文件,
問題就可以獲得解決.