ECSHOP编辑器Fckeditor上传图片中文名称乱码的解决方法

ECSHOP编辑器Fckeditor上传图片中文名称乱码的解决方法

ECSHOP教程ecshop教程网(www.ecshop119.com) 2015-02-11

 

中文名乱码是因为:
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'])));
上一篇:Swift - 让程序挂起后,能在后台继续运行任务


下一篇:Python 3下Matplotlib画图中文显示乱码的解决方法