FCKeditor解决上传中文名的文件乱码

在使用FCKeditor上传文件时,当文件名为中文时,上传后的文件名为乱码,解决方法如下:

1. 修改fckeditor-java-core-2.4.jar源码,在源码中找到在web.xml文件中配置的[color=red]net.fckeditor.connector.ConnectorServlet[/color]类,在[color=red]doPost[/color]方法中,添加 [color=red]upload.setHeaderEncoding("UTF-8")[/color] ,修改如下:
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
/**
* 解决上传中文名的文件会出现乱码问题
* 添加 by songsp 2009-1-8 15:54:09
*/
upload.setHeaderEncoding("UTF-8");
/**
* end
*/
try {
List<FileItem> items = upload.parseRequest(request);
// We upload only one file at the same time
FileItem uplFile = items.get(0);
//...


修改好后,重新打包。
或者,自己新建一个类,复制net.fckeditor.connector.ConnectorServlet类中代码,在其基础上,添加以上的代码,再在web.xml中的Connector配置成自定义的Connector类即可。
  <servlet>
<servlet-name>Connector</servlet-name>
<servlet-class>org.sp.util.FCKeditorConnectorServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>


2. 按以上完成后,中文命名的文件上传上去后将不会出现乱码,但引用时,会找不到该文件,如引用图片时,显示为叉。
解决方法:修改tomcat中的server.xml文件,在 [color=red]<Connector>[/color] 标签中添加 [color=red]URIEncoding="utf-8"[/color] 属性,如下:
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
URIEncoding="utf-8"/>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值