FCKeditor中文乱码解决办法

FCKeditor中文乱码解决办法
在使用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。
html

网上不少文章都说修改/editor/filemanager/browser/default/frmupload.html,在head中加一个meta
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ,其实凭这个根本不行。
解决这个问题得益于:
http://gemini.javaeye.com/blog/135858,在这里谢谢这篇文章的做者。 java


/////////////////////////////////////////////////////////////////////////web

 

查看文章
FCKeditor中文乱码及上传失败问题2008-02-28 11:59FCKeditor中文乱码问题
apache

在FCKeditor的使用中,主要有在3个地方会出现中文乱码:tomcat

① 在“浏览服务器”页面中建立新目录时服务器

问题:当点击“插入/编辑图象”或“插入/编辑Flash”时,会弹出“图象属性”或“Flash属性”对话框,而后单击其中的“浏览服务器”按钮时,会打开“浏览服务器”的页面,在这个页面中建立中文名目录时会出现乱码。tcp

解决:修改Web容器的字符编码。由于FCKeditor的默认字符编码是UTF-8,因此将Web容器的字符编码也修改为UTF-8。若是Web容器用的是Tomcat,打开文件%CATALINA_HOME%/conf/server.xml,修改以下:ide

<Connector
port="8080"
redirectPort="8443"
minSpareThreads="25"
connectionTimeout="60000"
connectionLinger="-1"
serverSoTimeout="0"
maxSpareThreads="75"
maxThreads="150"
tcpNoDelay="true"
maxHttpHeaderSize="8192"
IEncoding="UTF-8">
</Connector>
<Connector
port="8009"
redirectPort="8443"
protocol="AJP/1.3"
IEncoding="UTF-8">
</Connector>
ui


② 在“浏览服务器”页面中上传文件时编码

问题:在和①一样的方式打开的“浏览服务器”页面中上传中文名的文件时会出现乱码。

解决:打开项目WebRoot中的文件/editor/filemanager/browser/default/frmupload.html,在head中加一个meta:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

③ 在“图象属性”或“Flash属性”对话框中上传文件时

问题:当点击“插入/编辑图象”或“插入/编辑Flash”时,会弹出“图象属性”或“Flash属性”对话框,点击其中的“上传”选项卡,点击“浏览...”按钮,选择一个中文名的文件,再点击“发送到服务器上”按钮,上传后的文件名是乱码。

解决:修改FCKeditor.Java源代码。经过Eclipse修改源码而后从新打包成 jar文件比较方便。在Eclipse里新建Web工程FCKeditor-java-2.3,这里要注意,由于FCKeditor.Java的 WebRoot目录名是web,因此建议新建工程时,WebRoot目录名也命名为web。把FCKeditor.Java里的相应目录复制到工程下。在 src里找到ConnectorServlet.java和SimpleUploaderServlet.java两个文件,分别在两个文件中找到 DiskFileUpload upload = new DiskFileUpload();,在其后加入upload.setHeaderEncoding("utf-8");。而后把Tomcat安装目录下 /server/lib里的catalina-ant.jar复制到项目的/WEB-INF/lib下。打开build.xml,修改property name="catalina.home"成Tomcat的安装目录。修改taskdef name="deploy"、taskdef name="list"、taskdef name="reload"、taskdef name="undeploy"以下:

<taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask">
<classpath refid="compile.classpath"></classpath>
</taskdef>
<taskdef name="list" classname="org.apache.catalina.ant.ListTask">
<classpath refid="compile.classpath"></classpath>
</taskdef>
<taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask">
<classpath refid="compile.classpath"></classpath>
</taskdef>
<taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask">
<classpath refid="compile.classpath"></classpath>
</taskdef>

而后在Eclipse的Outline窗口中运行Ant的dist,就会生成的新的FCKeditor-2.3.jar。将使用了FCKeditor的项目中的FCKeditor-2.3.jar替换成这个新的。

上传失败问题

这里不考虑服务器方的缘由。首先检查web.xml中SimpleUploader这个Servlet的配置里,是否把参数enabled设为了false。

另外,FCKeditor会自动建立web.xml中SimpleUploader的参数baseDir指定的目录。当 经过“浏览服务器”页面上传文件时,若是baseDir下没有相应的Image或Flash目录,FCKeditor会自动建立Image或Flash目 录;可是当经过“上传”选项卡中的“发送到服务器上”按钮上传文件时,若是baseDir下没有相应的Image或Flash目录,FCKeditor就 会报错,这时须要你手动在baseDir下新建Image或Flash目录。

相关文章
相关标签/搜索