如何进行编码转换,比如简体到繁体?
时 间:2006-06-02 00:00:00
作 者:UMVsoft整理 ID:8 城市:上海 QQ:2851379730
摘 要:进行编码转换的阐述
正 文:
如何进行编码转换?
我想用vba创建一个utf-8格式的txt文件,然后将普通字符串写入该文件,当在ie下用utf-8编码浏览该文本文件,能够正确显示其中的中英文和标点符号。
方法一:
用ADO 的 STREAM 对象的 CHARSET 属性来进行转换:
Function tran_ado(ByVal strA As String, _
Optional ByVal strInCode As String = "gb2312", _
Optional ByVal strOutCode As String = "big5") As String
'本函数进行编码转换。
'对应的 strInCode 和 strOutCode 在注册表以下位置中能找到
'HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MIME\Database\Charset
'请先引用 Microsoft ActiveX Data Objects 2.5 Library
'或者以上版本
Dim Stm As New ADODB.Stream
'默认情况下是将简体中文转换为繁体中文
Stm.Type = adTypeText
Stm.Mode = adModeUnknown
Stm.Open
Stm.Charset = strOutCode
Stm.WriteText strA
Stm.Position = 0
Stm.Type = adTypeText
Stm.Charset = strInCode
tran_ado = Stm.ReadText()
Stm.Close
End Function
注意!由于一些简体字在繁体系统中根本不存在,所以用 stream 转码后还会存在很多问号。
Function runTest()
Dim objFile, stmFile
Dim strText As String
Set objFile = CreateObject("Scripting.FileSystemObject")
Set stmFile = objFile.OpenTextFile("c:\abc.txt", 1, False)
strText = stmFile.ReadAll
strText = tran_ado(strText, "gb2312", "utf-8") '出来的就是 UTF-8 了
stmFile.Close
Set stmFile = objFile.CreateTextFile("c:\abc_tr.txt", True)
stmFile.Write strText
stmFile.Close
End Function
方法二:
将所有的需要转换的文本保存在某个 ACCESS 表的备注字段中,然后下载
OFFICE 简繁体转换加载项 (tcscconv.msi)
http://access911.net/index.asp?u1=f&u2=79FAB61E
用 VBA 编程调用插件转换整个表,然后再从表中读取已经转换编码的文本即可
查两句,这里也许有很多网友看过下述文章:
两个未公开的ACCESS方法的使用技巧
http://access911.net/?kbid;71FAB61E10DCEFF3
想用编程的方式直接转一个已经编写好的 ACCESS 简体软件到 ACCESS 繁体软件。其实也能使用加载项来辅助简化一部分工作。比如:
1、SAVEASTEXT 以后用 FSO READALL 读取全部文本并直接将文本以字符串形式保存为某个临时表的备注字段
2、在 ACCESS 中编程控制菜单,调用插件,转换整个表
3、编程将备注中的文本全部导出为 TXT 文本文件
4、在繁体系统中用 LoadFromText 方法读取整个TXT文本文件即可
但是注意,MDB 格式尽量使用 2000 格式,ACCESS 版本倒没什么很大关系,如果遇上 CRC 校验错误就换台机器再试验一下,不是每次必定出错的。还有,每个控件的控件名尽量使用英文,用中文很可能会出错误。
相关内容你也可以参考:http://bbs.office-cn.net/dispbbs.asp?boardID=151&ID=17841&page=1
方法三:
用字符表逐一比对的方法来进行转换
待续。。。
注意!由于语言转换是语言学而不是计算机学的问题,所以将简、繁体转换系统不可能尽善尽美。举个最简单的例子:简体的“程序”在转换成繁体后应该是“程式”,“软件”应该被转换成“軟体”。这些问题都不在本文的讨论范围。
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 通过命令按钮让Access列表...(04.24)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)

学习心得
最新文章
- 仓库管理实战课程(15)-月度库存...(04.30)
- Access选择打印机、横纵向、纸...(04.29)
- 仓库管理实战课程(14)-出库功能...(04.26)
- 通过命令按钮让Access列表框指...(04.24)
- 仓库管理实战课程(13)-入库功能...(04.21)
- Access控件美化之--美化按钮...(04.19)
- Access多行文本按指定字符筛选...(04.18)
- Microsoft Access数...(04.18)
- 仓库管理实战课程(12)-月度结存...(04.16)
- 仓库管理实战课程(11)-人性化操...(04.15)