中文名乱码是因为:
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 文件中
找到 $sFileName = $oFile['name'] ;
修改为
$string = 'abcdefghijklmnopqrstuvwxyz0123456789'; $rand = ''; for ($x=0;$x<6;$x++){ mt_srand(); $rand.= substr($string,mt_rand(0,strlen($string)-1),1); } $sFileName = date('YmdHis').$rand.".".strtolower(array_pop(explode(".",$oFile['name'])));