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;
//--------------------------------------------------------------
个人认为第一种方法还是蛮好的!
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;
//--------------------------------------------------------------
个人认为第一种方法还是蛮好的!
相关文章推荐
- PHP Fckeditor上传文件(或图片)中文显示为乱码的解决方法
- php fckeditor 上传文件(或图片)中文显示为乱码的解决方法(两种方法)
- 用FlashFXP上传文件到SSH服务器,附FlashFXP显示中文乱码的解决方法
- php上传文件中文文件名乱码的解决方法
- jsp fckeditor 上传中文图片乱码问题的解决方法
- php上传文件中文文件名乱码的解决方法
- PHP中完美解决fckeditor上传中文文件与新建中文目录出现乱码的问题
- php上传文件中文文件名乱码的解决方法
- ECSHOP编辑器Fckeditor上传图片中文名称乱码的解决方法
- FCKeditor 2.3中文文件上传时出现乱码的解决方法
- php上传文件中文文件名乱码的解决方法
- Fckeditor上传图片文件名重名及中文乱码解决方法
- 用FlashFXP上传文件到SSH服务器,附FlashFXP显示中文乱码的解决方法
- FCKeditor 2.3中文文件上传时出现乱码的解决方法
- PHP中完美解决fckeditor上传中文文件与新建中文目录出现乱码的问题
- Struts2上传文件带中文名时.图片显示会出现%乱码解决
- php读中文显示乱码,怎么解决 php默认识别UTF-8的方法
- ubuntu 中用vim打开txt等文件中文显示乱码的解决方法
- Ubuntu/Debian下JAVA 中文/图片中文字体乱码显示问题解决方法