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'
])));