让你的动易SW6.6支持UTF-8

时间:2009-08-31 17:31:00 

简单的让你的动易SW6.6支持UTF-8

动易SW6为什么一直都不支持UTF-8编码呢?相信大家都因为这个很是郁闷吧?

不用再郁闷了,从现在开始,我来教大家怎么修改动易的程序,让它支持UTF-8编码.

原因:动易SW写入文件的方式是采用的FSO默认的组合写入,所以不支持UTF-8的方式。
对应函数:WriteToFile_FSO (Include\PowerEasy.FSO.asp)

解决方法:用Adobe.Stream

好了,现在就开始我们的修改之路吧 (修改写你要清楚,修改之路是很漫长的,因为下次动易升级了,你的文件也要随着重新修改,对于那些想等着动易自己解决的用户和懒得不想动的用户,此方法不适用!)

说明:此方法可能会存在一些问题,请修改前把原文件备份,有口水的人请你不要在这乱叫,你可以走开不看!

注意,这个文件Include\PowerEasy.FSO.asp 有两个地方要修改

修改函数:WriteToFile 和 WriteToFile_FSO

以下为修改后的函数,你可以和原来的对照,看下修改了哪些地方!

Sub WriteToFile(WriteToFileName, WriteToFileContent, WriteToCharset)
Dim ErrMsg
ErrMsg = WriteToFile_FSO(WriteToFileName, WriteToFileContent, WriteToCharset)
If ErrMsg <> "" Then
   ErrMsg = WriteToFile_ADO(WriteToFileName, WriteToFileContent)
   If ErrMsg <> "" Then
      Response.Write "<li>生成 " & WriteToFileName & " 时出错。出错原因:" & ErrMsg & "</li>"
   End If
End If
End Sub

Function WriteToFile_FSO(strFullName,strContent,strCharset)
On Error Resume Next
Dim objStream
Set objStream = Server.CreateObject("ADODB.Stream")
With objStream
.Type = 2
.Mode = 3
.Open
.Charset = strCharset
.Position = objStream.Size
.WriteText = strContent
.SaveToFile Server.MapPath(""&strFullName&""),2
.Close
End With
Set objStream = Nothing
Err.Clear
End Function

好了,第一部分完成了。

现在来修改首页生成的地方,大家请找到 Admin/Admin_CreateSiteIndex.asp (注意:Admin这个目录可能因为你的修改而不同,反正就是管理目录)。

找到:Call WriteToFile(InstallDir & FileName_SiteIndex, strHTML)

改成:Call WriteToFile(InstallDir & FileName_SiteIndex, strHTML,"utf-8")

可以看到,只是在后面加了个生成的编码方式。

看到这,大家应该都清楚怎么修改了吧?聪明的还可以自己写个常量来控制生成的编码,以后就不用麻烦的去修改了。

比如:在Start.asp页面中增加 Const MyCharset = "utf-8"

那么上面的就可以这个改 Call WriteToFile(InstallDir & FileName_SiteIndex, strHTML, MyCharset)

最后的说明:其他页面,比如说

Admin/Admin_CreateArticle.asp 、Admin/Admin_CreateProduct.asp等等页面,找出你要使用的模块页面,把Call WriteToFile 改成上面的就可以了。

警告:此修改只针对SW6.6,对下的版本应该是一样的。在实际操作中遇到什么问题,可以给我发邮件
121sun@163.com 只回答关于此问题,其他修改请不要再问我了,因为我现在在修改新版本。

补充说明: 不要忘记生成通用模块的页面 Admin/Admin_CreateCommon.asp (生成频道首页和栏目页及专题的都在这了)

目前没有解决搜索的时候,取得的关键字是被编码了的(思考中。。。希望官方可以给个思路)

对于index.asp和search.asp等页面,如Copyright.asp 的开始,要增加编码转换语句。

<%
'**************************************************************
' Software name: PowerEasy SiteWeaver
' Web: http://www.powereasy.net
' Copyright (C) 2005-2008 佛山市动易网络科技有限公司 版权所有
'**************************************************************

Response.CodePage=65001
Response.Charset="utf-8"

..............
目前访方法没有找到解决搜索页面的问题,搜索的时候,取得的关键字是被编码了的。

标签:cms,动易,utf-8
0
投稿

猜你喜欢

  • 站长必备工具谷歌网站管理员工具详细介绍

    2009-01-05 09:45:00
  • 以“休闲小游戏”这例细说关键字SEO

    2009-01-14 10:14:00
  • 手把手教你用杰奇程序做书站之整合DISCUZ论坛

    2009-02-24 12:39:00
  • 百度对新站的收录规律

    2007-10-12 18:54:00
  • 开源技术基础:教你如何熟练使用TOMCAT

    2010-05-02 18:34:00
  • Adsense:中文网站管理员博客阅读笔记

    2008-11-11 17:44:00
  • 基于linux的Web服务器性能测试

    2010-05-02 18:10:00
  • IIS 301重定向到www.开头的域名教程

    2010-04-24 15:16:00
  • 快速打造下雨动态图片 掀非主流伤感风

    2009-11-23 14:23:00
  • 建站经验:冷门行业网站站长应该如何坚守

    2009-01-07 14:18:00
  • 51.com宣称注册用户达1.6亿 存储图片110亿张

    2009-10-23 13:34:00
  • 简析个人网站最缺少的几点要素

    2008-03-02 16:19:00
  • 通用htaccess优化wordpress实现yslow评分达到A

    2010-10-20 18:17:00
  • 专访51wan寻找女一号冠军 中日混血儿KIKO

    2009-11-19 16:12:00
  • WordPress 不用插件实现在线投稿功能

    2011-08-20 08:23:57
  • 抵御黑客入侵防护服务器安全的七个技巧

    2009-01-13 17:23:00
  • SMTP服务对命令流水的扩展

    2010-03-24 18:47:00
  • dedecms列表页调用TAG标签的两种方法

    2009-02-14 08:34:00
  • 二十个搜索引擎优化常见问题解答

    2009-01-12 15:24:00
  • 抢鲜披露Windows Server 2008 R2新功能

    2008-11-26 15:58:00
  • asp之家 网站运营 m.aspxhome.com