php fckeditor 上传文件(或图片)中文显示为乱码的解决方法(两种方法)

本文介绍了解决FCKeditor在上传文件时遇到的中文名称乱码问题的方法。主要通过两种方式实现:一是修改文件上传过程中的字符编码转换;二是直接修改上传文件的名称。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

中文名乱码是因为:
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;
//--------------------------------------------------------------



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值