fckeditor2.6.4上传中文名问题解决方案

      以前利用STRUTS2+fckedit2.3做了一个myBlog,个人感觉功能不是很完善,因此就想再次写个小的新闻发布系统。再次进入www.fckeditor.net ,发现FCKEDITOR2.6.4版本,由于长时间没有弄这个了,所以忘记了该如何配置,网上讲了很多,能解决大部份的问题,我也下载了官方的fckeditor-java-demo-2.4.1.war,发现里面用的是FCKEDIT2.3核心,而且用中文问题,比如说不能上传中文名的文件,原因不知道,GOOGLE一下也没有找到答案,不过官方的事例中可以上传中文名的文件,因此本人决定要解决这个问题,围绕这个问题,我找了很多资料,其中有提到重新编译fckeditor-java-core-2.4.1.jar中的 ConnectorServlet(添加一句)文件的,我后来试了是正确的,不过由于本人技术有限,ECLIPSE里没有MAVE2,不能打包成53KB的文件,官方的JAR只有53KB,希望知道方法的朋友给个提示啊。

      言归正传,现在就提供我的方法,在ConnectorServlet中的“List<FileItem> items = upload.parseRequest(request);”(大概217行位置)上面加一句“upload.setHeaderEncoding("UTF-8");”即可,此文件按照原文不变,也可以修改,我的事例中将它修改了"cm.kaig.fckeditor.connector.KConnectorServlet.java",然后再修改WEB.XML文件:内容如下: 

web.xml

<servlet>
  <servlet-name>Connector</servlet-name>
  <servlet-class>cm.kaig.fckeditor.connector.KConnectorServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
  <!-- 用修改过的ConnectorServlet替换原有的文件,且不用重新编译JAR包"net.fckeditor.connector.ConnectorServlet"-->
 </servlet>

 <servlet-mapping>
  <servlet-name>Connector</servlet-name>
  <url-pattern>/fckeditor/editor/filemanager/connectors/*</url-pattern>
 </servlet-mapping>

 

这样即可解决上传时的中文名问题,如果要建立中文文件夹还需要设置WEB容器的字符编码,如果Web容器用的是Tomcat,则修改conf/server.xml文件,在两个Connector中添加“URIEncoding="utf-8"”,我这里用的是utf-8编码,所以修改成utf-8,若项目是gb2312编码,则设置为“URIEncoding="gb2312"”。

 

如果上面说的不是很明白 ,可以看我做的myFCK的事例。

 

 

 

 

你可能感兴趣的:(java,.net,Web,servlet,fckeditor)