您的位置:首页 > 编程语言 > PHP开发

PHP Fckeditor上传文件(或图片)中文显示为乱码的解决方法

2014-01-06 18:56 936 查看
中文名乱码是因为:

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;

//--------------------------------------------------------------


个人认为第一种方法还是蛮好的!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: