FCKeditor 2.3在上传中文文件时至少有四个地方可能出现乱码:
(1) 快速上传,即"上传"标签页,上传成功之后弹出的对话框为乱码,(文件名重复时会弹出这个对话框)
(2) 快速上传后返回到"链接"页后,"链接"页的输入框为乱码
(3) 文件"浏览"上传之后弹出的对话框为乱码.(同1)
(4) 文件"浏览"上传保存的文件名为乱码
解决方法:
步骤1.
将 /Fckeditor/editor/filemanager/browser/default/frmupload.html 文件的编码(原先为ANSI编码)改为UTF-8保存即可,
打开该文件 >> 另存为 >> 点“保存”按钮右边的下拉箭头 >> 编码保存... >> 替换原文件 >> Unicode(UTF-8有签名)
或者
在/FCKeditor/editor/filemanager/browser/default/frmupload.html)加上一段
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
该方法解决了(4)所述的乱码现象.
步骤2.
找到/FCKeditor/editor/filemanager/browser/default/connectors/asp/command.asp中的下面文字:
Response.Write "<script type=""text/javascript"">"
Response.Write "window.parent.frames['frmUpload'].OnUploadCompleted(" & sErrorNumber & ",'" & Replace( sFileName, "'", "'" ) & "') ;"
Response.Write "</script>"
在response.clear之后插入
Response.CodePage=65001
Response.Charset="UTF-8"
修改后的文字为:
Response.CodePage=65001 '<----新增加的行
Response.Charset="UTF-8" '<----新增加的行
Response.Write "<script type=""text/javascript"">"
Response.Write "window.parent.frames['frmUpload'].OnUploadCompleted(" & sErrorNumber & ",'" & Replace( sFileName, "'", "'" ) & "') ;"
Response.Write "</script>"
该方法解决了(3)所述乱码现象.
同样,找到/FCKeditor/editor/filemanager/upload/asp/upload.asp中的SendResults函数,在该函数的起始处加入
Response.CodePage=65001
Response.Charset="UTF-8"
两行.修改后的函数为:
Response.CodePage=65001 '<----新增加的行
Response.Charset="UTF-8" '<----新增加的行
Response.Write "<script type=""text/javascript"">"
Response.Write "window.parent.OnUploadCompleted(" & errorNumber & ",""" & Replace( fileUrl, """", """" ) & """,""" & Replace( fileName, """", """" ) & """,""" & Replace( customMsg , """", """" ) & """) ;"
Response.Write "</script>"
Response.End
End Function
该方法解决了(1)(2)所述乱码现象.
步骤2是基于http://www.7dspace.com/doc/23/0601/200612207304425461.htm所述得出的解决方法.
FCKEditor可能还有其他地方出现乱码,但我没有碰到,欢迎大家一起讨论. (itti原创)