中文名乱码是因为:
FCKeditor使用UTF-8编码,
自己机子比如是Windows系统
文件名使用的是GBK编码,
在上传中需要,改下编码,从UTF-8到GBK
==>第一个思路,转码思路,要修改两个文件,第一个文件:
.\fckeditor\editor\filemanager\connectors\php\commands.php 文件
里面有一个 FileUpload 函数:
move_uploaded_file( $oFile['tmp_name'], $sFilePath ) ;
改为
move_uploaded_file( $oFile['tmp_name'], iconv("utf-8","gbk",$sFilePath) ) ;
----------
第二个文件:
.\fckeditor\editor\filemanager\connectors\php\util.php 文件
找到 ConvertToXmlAttribute 函数:
将:return ( utf8_encode( htmlspecialchars( $value ) ) ) ;
修改为:return iconv("GBK", "UTF-8", htmlspecialchars( $value ));
==>第二个思路,修改上传文件的名字:
需要修改如下:
在 .\fckeditor\editor\filemanager\connectors\php\commands.php 文件中
找到 FileUpload 函数:将 $sFileName = $oFile['name'];
修改如下:
//--------------------------------------------------------------
//修正上传文件中文乱码方法之二:(修改上传文件的名字)
$sFileName = "sda.php";
$sOriginalFileName = $sFileName;
$sExtension = substr($sFileName, (strrpos($sFileName, '.') + 1));//找到扩展名
$sExtension = strtolower($sExtension);
$sFileName = date("YmdHis").rand(100, 200).".".$sExtension;
//--------------------------------------------------------------
个人认为第一种方法还是蛮好的!