PHP中FCK上传图片文件名乱码

使用fck的朋友可能会碰这样一个情况就是如果上你的文件名为英文字母是没有任何问题,如果上传的是中文汉字就会出现中文名乱码了,下面我来给大家分析与介绍解决方法。

主要原因是fck中的编(utf-8)码和本地的编码(gbk)环紧不一致导致的,修改如下5个文件可以解决

更改FileUpLoad函数 ckeditor/" target="_blank">fckeditoreditorfilemanagerconnectorsphpcommands.php

在文件中找到以下代码:

代码如下

// Get the extension.
$sExtension = substr( $sFileName, ( strrpos($sFileName, '.') + 1 ) ) ;
$sExtension = strtolower( $sExtension ) ;

在其后加上一句:

代码如下

$sFileName = strtotime('now').'.'.$sExtension;

这样文件名就是 当前时间戳+后缀名了。既解决了中文乱码,也解决了文件重名

另一种解决办法,保留中文名

文件4:fckeditoreditorfilemanagerconnectorsphpcommands.php

找到

代码如下

function FileUpload( $resourceType, $currentFolder, $sCommand ){

。。。

找到

//move_uploaded_file( $oFile['tmp_name'], $sFilePath ) ;

move_uploaded_file( $oFile['tmp_name'], iconv("utf-8","gbk",$sFilePath));

}

对文件名$sFilePath转码。

文件5:fckeditoreditorfilemanagerconnectorsphputil.php

找到

代码如下

function ConvertToXmlAttribute( $value ){

。。。

找到

//return ( utf8_encode( htmlspecialchars( $value ) ) ) ;

return iconv("GBK", "UTF-8", htmlspecialchars( $value ));

}

对内容进行转码。

更多相关文章
  • 文件名乱码一般是中文导致的,因为ckeditor使用的是uft8编码如果我们页面使用的是gbk或gb2312就有可能出现乱码问题,解决办法只要对上传文件重命名即可.打开editor/filemanager/connectors/php目录下commands.php,找到FileUpload函数,在 ...
  • 下在来看一个Mac os的压缩zip文件在windows系统下打开中文文件名乱码解决办法,希望例子能帮助到各位.从mac下压缩的文件通过邮件发送过来,在windows下打开后发现乱码,和里面对应的文件夹的文件目录也发生变化实际问题就是文件编码的问题 mac 下默认是UTF-8 而已,windows下 ...
  • 使用 nodejs 请求 url 来保存文件,获取的文件名为乱码: var http = require('http'); var url = 'http://zhangmenshiting.baidu.com/data2/music/42438163/7305469219600128.mp3?xc ...
  • File Roller/Unzip 解压中文 Zip 文件名乱码
    其实这个问题自从给家父换用 Fedora 后便遇到了,似乎总是有那么一两个人喜欢使用 zip 格式压缩下无论是多么小的文件.两三个 GNOME 版本更新却仍然如此,实在奇怪.于是这次坐下来查了查,才发觉这是一个大坑.接下来的内容可以说是在下根据网上查找一些资料的验证/解决方案.没什么技术含量,随便哪 ...
  • json_encode乱码出现最多的是在中文,一个是中文显示成null了,另一个是json_encode把中的uft8字符变成了全字母了,下面来给各位分析一下解决办法吧.最近在接口代码当中用到过json_encode,在网上找到说json_encode编码设置为UTF-8中文就不会乱码,经验证这办法 ...
  • winzipaes文件名乱码解决方案
    winzipaes是一个开源的基于javaZip的加密压缩工具目前代码托管在google上(http://code.google.com/p/winzipaes)需要依赖bcprov的包,可以去maven上下载,也可以在Linux公社资源下载,见本文下面的下载地址.用过的人可能都会发现当使用它,往压 ...
  • Linux与Windows下QT中使用MySQL中文乱码解决方法
    Linux下这种方法应该是最快捷解决中文乱码的办法了,不用改mysql的编码,仅限于linux下使用:1.在QT程序的main.cpp的main函数中QTextCodec```那三句:int main(int argc, char *argv[])   {       QApplication a( ...
  • 我使用php-sdk对服务器上的中文名文件进行压缩,将压缩包解压后发现文件名的中文全部乱码,请问有办法解决吗??? 你使用UTF-8编码方式
一周排行