FCK中文图片上传乱码问题解决办法

在使用FCKeditor2.4.3时若上传的图片或者flash的文件名为中文时,发现一下情况:
问题1:
当点击“插入/编辑图像”或者“插入/编辑Flash”按钮时,在弹出的对话框中选择上传按钮,如果上传的文件名为中文时会出现乱码。
解决办法:
把SimpleUploaderServlet.java做如下修改:
找到该程序中DiskFileUpload upload = new DiskFileUpload(),然后在该行下面添加
upload.setHeaderEncoding("UTF-8")
问题2:
当点击“插入/编辑图像”或者“插入/编辑Flash”按钮时,在弹出的对话框中使用浏览
服务器按钮上传中文文件时会出现乱码。
解决办法:
和问题1的解决办法基本一样,只不过需要在ConnectorServlet.java中添加
upload.setHeaderEncoding("UTF-8")便可。
问题3:
当点击“插入/编辑图像”或者“插入/编辑Flash”按钮时,在弹出的对话框中点击浏览
服务器按钮,会弹出“浏览服务器”页面,如果想在该页面中使用Create New Folder按钮
来创建一个中文目录时,会出现中文目录乱码。
解决办法:
web容器的编码要与FCKeditor默认的编码UTF-8一致,如果使用的是Tomcat,需修改
tomcat服务器中conf目录下的server.xml。如下:
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="utf-8" />
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="utf-8"/>
其实就是在原来的基础上添加URIEncoding的属性值为utf-8。

在使用FCKeditor2.4.3时若上传的图片或者flash的文件名为中文时,发现一下情况:
问题1:
当点击“插入/编辑图像”或者“插入/编辑Flash”按钮时,在弹出的对话框中选择上传按钮,如果上传的文件名为中文时会出现乱码。
解决办法:
找到FCKeditor.java解压包中的src目录下SimpleUploaderServlet.java做如下修改:
找到该程序中DiskFileUpload upload = new DiskFileUpload(),然后在该行下面添加
upload.setHeaderEncoding("UTF-8"),重新编译成class文件并利用WinRAR把该class文件
添加到FCKeditor-2.3.jar中相应的位置,然后覆盖你的web项目中原来的jar包便可。
问题2:
当点击“插入/编辑图像”或者“插入/编辑Flash”按钮时,在弹出的对话框中使用浏览
服务器按钮上传中文文件时会出现乱码。
解决办法:
和问题1的解决办法基本一样,只不过需要在ConnectorServlet.java中添加
upload.setHeaderEncoding("UTF-8")便可。
问题3:
当点击“插入/编辑图像”或者“插入/编辑Flash”按钮时,在弹出的对话框中点击浏览
服务器按钮,会弹出“浏览服务器”页面,如果想在该页面中使用Create New Folder按钮
来创建一个中文目录时,会出现中文目录乱码。
解决办法:
web容器的编码要与FCKeditor默认的编码UTF-8一致,如果使用的是Tomcat,需修改
tomcat服务器中conf目录下的server.xml。如下:
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="utf-8" />
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="utf-8"/>
其实就是在原来的基础上添加URIEncoding的属性值为utf-8。
注:对于问题3,这种解决办法不可取,最好不要去修改服务器的编码,否则会影响到服务器上其它的工程。解决这个编码的问题可以修改源代码或者从新编写一个类来处理。通过观察打开的上传浏览对话框可以找对对应的htm页面和负责处理上传文件名称的com.fredck.FCKeditor.uploader. ConnectorServlet这个类,然后找到对应的参数,转换编码便可。如:String newFolderStr=request.getParameter("NewFolderName");

newFolderStr=new String(newFolderStr.getBytes("iso8859-1"),"utf-8");
=================================================================================

fckeditor如果大家搞定啦1!那一定想到他是没有提供删除功能的!!
以下是一段js,放在调用feckeditor的jsp页面
function FCKeditor_OnComplete( editorInstance )
{
editorInstance.Events.AttachEvent( 'OnBlur', onEditorBlur );
}

function onEditorBlur(){
var imgs = FCKeditorAPI.GetInstance('EditorDefault').EditorDocument.body.all.tags("img");
for(var i=0; i < imgs.length; i++){
alert(imgs[i].src);
//这里你可以用一个隐匿域来接收这些路径信息
}
}
把这些路径信息放置于数据库是的一个字段,删除文档时一起删除,就可以解决图片存留问题
========================================================================================
避免上下滚动条的出现:


在fckconfig.js中加入下列2句:

FCKConfig.Plugins.Add( 'autogrow ' ) ;
FCKConfig.AutoGrowMax = 4000 ; //这是允许自动增长的最大高度限制

同时请确认fckeditor\editor\plugins\autogrow有这个目录存在,没有的话到官网下载最新版FCK。


另外注意FCKConfig.PluginsPath的路径你设置对了没有。
===========================================================================
FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/ ' ;

这个是对的,系统默认的路径,FCK使用也没问题

就是不能自动调整高度
=============================================================================
FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/ ' ;
这是js里的语句。BasePath不是在这设的,是在php里调用FCK时设置的。

========================================================================
不行的话是不是你曾经改过FCK的源码。
你重新下载文件,只改动这2行测试一下就知道了。别的什么都不用改就可以实现你所说的要求。

FCKConfig.Plugins.Add( 'autogrow ' ) ;
FCKConfig.AutoGrowMax = 4000 ;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值