最近用到FCKeditor,但发现中文乱码。。在网上找了下,解决方案基本上都是下面转的那种。方法确实可以解决部分乱码问题,但用起来也发现了还有一个不足,就是按照下转的解决方案设置后,虽然根目录下中文文件和建中文文件夹都没问题了,但是在中文文件夹下里就是不能上传文件,也不能建目录,非中文的都一样。这样变得文件只能全部放在根目录或者非中文的目录,中文目录功能形同虚设了,能建个中文文件夹也只是用来看看,真晕。。本想省点劲的,网上找找解决高招就算了,看来还是不行,没办法,只好自己动手,花了半天时间研究fckeditor的代码,终于可以完全中文操作了。下面解决方法:
以下转的:
1、首先去官网下载FCKeditor2.6.5 多国语言版。http://ckeditor.com/download,注意:第一个为最新3.0.1版,第二个才是FCKeditor 2.6.5
2、删除不必要的东西:
删除/FCKeditor/目录下除fckconfig.js,fckeditor.js,fckstyles.xml,fcktemplates.xml,fckeditor.php,fckeditor_php5.php,fckeditor_php4.php
七个文件以外的所有文件;
删除目录/editor/_source(基本上,所有_开头的文件夹或文件都是可选的);
删除/editor/filemanager/connectors/下除了php目录的所有目录;
删除/editor/lang/下的除了 en.js, zh.js, zh-cn.js三个文件的所有文件。
3、打开/FCKeditor/fckconfig.js
修改
var FCKConfig.DefaultLanguage = 'zh-cn' ;
var _FileBrowserLanguage = 'php' ;
var _QuickUploadLanguage = 'php' ;
要开启文件上传的话,还需要配置editor\filemanager\connectors\php\config.php
将$Config['Enabled'] = false ;改为$Config['Enabled'] = true ;
更改$Config['UserFilesPath'] = '/userfiles/' ;为你的上传目录;
4.调用方法(例子)
将FCKeditor放在网站根目录
在PHP文件里面,包含/FCKeditor/fckeditor.php文件
//包含fckeditor类
include("../FCKeditor/fckeditor.php") ;
//设置编辑器路径
$sBasePath = "/FCKeditor/";
//创建一个Fckeditor,表单的txtarea名称为content
$oFCKeditor = new FCKeditor('content') ;
$oFCKeditor->BasePath = $sBasePath ;
//设置表单初始值
$oFCKeditor->Value = 'This is some <strong>sample text</strong>' ;
$oFCKeditor->Create() ;
//还可设置
$oFCKeditor->Width
$oFCKeditor->Height
$oFCKeditor->ToolbarSet
......................................................................................................................................................
<textarea name="content" style="display:none">这是文章内容测试!</textarea>
<?php
include_once("fckeditor/fckeditor.php");
$oFCKeditor=new fckeditor('content');
$oFCKeditor->BasePath='fckeditor/';
$oFCKeditor->value='default text in editor';
$oFCKeditor->Width='800px';
$oFCKeditor->Height='300px';
$oFCKeditor->create();
//$fck=$oFCKeditor->CreateHtml();
?>
......................................................................................................................................................
对于Fckeditor上传中文名文件时显示乱码的问题,现公布方法如下:
测试环境:php 5 , utf-8编码
1、修正上传中文文件时文件名乱码问题
在文件connectors/php/commands.php中查找:
$sFileName = $oFile['name'] ;
在后面添加一行:
$sFileName = iconv("utf-8","gbk",$sFileName);
2、修正文件列表时中文文件名显示乱码问题
在文件connectors/php/util.php中查找:
return ( utf8_encode( htmlspecialchars( $value ) ) ) ;
修改为:
return iconv('','utf-8',htmlspecialchars( $value ));
3、修正新建中文文件夹时的文件夹名乱码问题
在文件connectors/php/commands.php中查找:
$sNewFolderName =
在后面添加一行:
$sNewFolderName = iconv("utf-8","gbk",$sNewFolderName);
上述完成后,PS:上面的gbk我都是用gb2312的,用哪个自己喜欢吧,接下来再补充上,我用的是2.6.6 build 25427,其他我想应该也一样的:
在文件connectors/php/connector.php中查找
$sCurrentFolder = GetCurrentFolder() ;
后面加上:
$sCurrentFolder = iconv("utf-8","gb2312",$sCurrentFolder);
这样就完全解决问题了,上图