200725/11

Nowans繁简转换组件在NSB中的应用方法 Published by bugx 09:37:20 十一月 25th,2007 in 不成器的作品.

2005年在发布这个组件后,收到不少关于使用疑问的反馈。也曾在中国书客的论坛上解答。现针对NSB5.0类基础上使用这个组件做一些说明。
繁简转换包包含以下文件:
程序文件
-------------------------------
CodeChange.asp  示例文件
CodeChange.dll  组件文件
组件注册.bat    注册文件
readme.txt      说明文件

首先必须注册组件,这就不多说了,不会命令的可以google一下或者直接运行“组件注册.bat ”。
CodeChange.asp是一个测试文件,在运行后,右键编码改为-》【繁体中文BIG5】,可以看见“中国汉字,中国文学”的繁体版本,说明本组件 运行成功。后面跟着一串乱码字符,不用担心。那段字符是测试繁体转简体的,而且是真BIG5码,不是只是把字表面转换,要测试的话,需要在繁体操作系统上 测试。

在实际应用中,要在所有需要转换的字符串中调用组件转换。应用NSB5.0是模版和程序分离的,那应用起来就比较简练,基本思想就是设置一个变量,保存导 入的模版,再处理逻辑部分,最后形成一个需要输出的“页面”字符串,然后只须调用一次组件就可以把整个页面都转为BIG5。下面是应用方法:
为了使用方便,把转换写成函数调用,在function.asp中添加2个方法:
'//简繁转换-GB2312toBIG5
'//
    Public Function GB2BIG5(strV)
        Dim    GB2Big5Obj
        Set GB2Big5Obj = Server.CreateObject("CodeChange.CodeChange")
        GB2Big5Obj.GBCode = strV
        GB2Big5Obj.GB2BIG5
        GB2BIG5=GB2Big5Obj.BIG5Code
    End Function
'//简繁转换-BIG5toGB
'//
    Public Function BIG52GB(strV)
        Dim BIG52GBObj
        Set BIG52GBObj = Server.CreateObject("CodeChange.CodeChange")
        BIG52GBObj.BIG5Code = strV
        BIG52GBObj.BIG52GB
        BIG52GB=BIG52GBObj.GBCode
    End Function


修改NSB.asp
'语言设置
Dim Codelang
Codelang=UCase(request("lang"))

If Codelang="BIG5" Then
    Session("langCode")="BIG5"
    Response.CharSet = "BIG5"
    'Session.CodePage=950
    Session.CodePage = 936
Else
    Session("langCode")="GB2312"
    Response.CharSet = "GB2312"
    Session.CodePage = 936
End If

大家看到有注释的一句
'Session.CodePage=950
本来繁体的CodePage应该是950,但是实际中确是936显示正常。我还没有用繁体的操作系统测试下,这里先保留疑问。


在实例页面应用:
Dim Index
index=Replace(index,"{$pagecode}",Session("langCode"))     '//{$pagecode}为HTML模版中<meta http-equiv="Content-Type"                         content="text/html; charset={$pagecode}" />

If Session("langCode")="BIG5" Then
    response.write func.GB2BIG5(index)
Else
    response.write index
End If

到此,即可实现NSB5.0类的繁简转换应用。
需要注意的两点
1,用到简繁,那编码就要选择gb2312和big5,而默认的nsb5.0是用UTF8的,这点只要修改nsb的输出编码格式即可,asp文件仍然为utf8
Response.CharSet = "GB2312"
Session.CodePage = 936
2,实际应用cookies比session要人性化。^_^

Nowans繁简转换  

此文发于 2007-11-25 9:37:20,归类于 不成器的作品,已阅读
Trackback引用地址:http://blog.nowans.com/trackback.asp?id=212
日志评论Feed地址:http://blog.nowans.com/feed.asp?o=comment&id=212

在某一年的这一天,我还写过……

2条留言针对“Nowans繁简转换组件在NSB中的应用方法” 订阅评论 发表评论

  • 86 2007.12.26 / 0:21 am 1

    圣诞快乐!!!

    Internet Explorer Internet Explorer 7.0  Windows Windows XP

假使你有话要讲,我想我还不至于拦着你罢: