2009-10-23 97 views
1

我正在使用uploadify,服務器端從$ _FILES [「fileData」] [「name」]檢索到的文件名是utf8。它可能包含中文或日文字符。下面的代碼運行後,move_uploaded_file不支持utf8文件名

$tempFileWithPath = $_FILES['Filedata']['tmp_name']; 
$destFile = $_FILES['Filedata']['name']; 

$destFileWithPath=myUtility::getFileRepositoryPath().'/'.$destFile; 
move_uploaded_file($tempFileWithPath,$destFileWithPath); 

對於使用中國人還是日本人文件名的那些文件,我使用FileZilla的FTP客戶端(支持UTF8文件名)和瀏覽器的文件夾,發現他們都成爲????? 。當然,其他使用英文文件名的文件不存在這個問題。

我使用PHP 5.2.9和服務器是共享主機上的Linux。

確實PHP中所有與文件相關的函數都有支持utf8的問題嗎?或者我的問題與其他問題有關?

回答

2

目標文件系統也需要support the encoding - 這可能與uploadify或PHP完全無關。

+0

我認爲你是對的,我檢查服務器是使用ANSI_X3.4-1968而不是utf-8作爲它的默認字符集,也許ftp客戶端從服務器知道這個,所以它不會顯示在utf8中,導致一些問號。 – bobo