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 += '¤tfolder=' + encodeuricomponent( this.currentfolder ) ;
surl += '¤tfolder=' +? 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
?