Heim  >  Artikel  >  Backend-Entwicklung  >  php fck文件夹及上传图片中文乱码有关问题解决办法

php fck文件夹及上传图片中文乱码有关问题解决办法

WBOY
WBOYOriginal
2016-06-13 10:29:45856Durchsuche

php fck文件夹及上传图片中文乱码问题解决方法

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

解决中文文件夹乱码问题:

文件1\fckeditor\editor\filemanager\browser\default\browser.html

找到

oConnector.SendCommand = function( command, params, callBackFunction )

{

?????? var sUrl = this.ConnectorUrl + 'Command=' + command ;

?????? sUrl += '&Type=' + this.ResourceType ;

//???? sUrl += '&CurrentFolder=' + encodeURIComponent( this.CurrentFolder ) ;

?????? sUrl += '&CurrentFolder=' +? this.CurrentFolder ;?

?

?????? if ( params ) sUrl += '&' + params ;

?

?????? // Add a random salt to avoid getting a cached version of the command execution

?????? sUrl += '&uuid=' + new Date().getTime() ;

?

?????? var oXML = new FCKXml() ;

?

?????? if ( callBackFunction )

????????????? oXML.LoadUrl( sUrl, callBackFunction ) ;?? // Asynchronous load.

?????? else

????????????? return oXML.LoadUrl( sUrl ) ;

?

?????? return null ;

}

去掉encodeURIComponent函数。

?

文件2\fckeditor\editor\filemanager\browser\default\frmcreatefolder.html

找到

function CreateFolder()

{

?????? var sFolderName ;

?

?????? while ( true )

?????? {

????????????? sFolderName = prompt( 'Type the name of the new folder:', '' ) ;

?

????????????? if ( sFolderName == null )

???????????????????? return ;

????????????? else if ( sFolderName.length == 0 )

???????????????????? alert( 'Please type the folder name' ) ;

????????????? else

???????????????????? break ;

?????? }

?

//???? oConnector.SendCommand( 'CreateFolder', 'NewFolderName=' + encodeURIComponent( sFolderName) , CreateFolderCallBack ) ;

?????? oConnector.SendCommand( 'CreateFolder', 'NewFolderName=' + sFolderName , CreateFolderCallBack ) ;

}

去掉encodeURIComponent函数。

?

文件3\fckeditor\editor\filemanager\browser\default\frmresourceslist.html

找到

function OpenFile( fileUrl )

{

//???? window.top.opener.SetUrl( encodeURI( fileUrl ).replace( '#', '%23' ) ) ;

?????? window.top.opener.SetUrl( fileUrl ) ;

?????? window.top.close() ;

?????? window.top.opener.focus() ;

}

去掉encodeURI函数。

?

解决上传图片中文文件名乱码问题:

文件4\fckeditor\editor\filemanager\connectors\php\commands.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\fckeditor\editor\filemanager\connectors\php\util.php

找到

function ConvertToXmlAttribute( $value ){

?????? 。。。

?????? 找到

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

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

}

对内容进行转码。

?

原来的本人博客中有提到相关问题:http://simpledev.iteye.com/blog/371619

(详见:附件直接覆盖文件)

整理 120521 15:06

?

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn