ini+utf-8的问题.....百分求解.

sektor 2005-04-26 12:02:38
现在要读取并处理的是一个ini文件.unicode编码时常规的ini读写都没问题.

这这个文件工作的时候却必须是utf-8的.所以试着按通常的方法取出字段再转码(有转码的类模块).

问题却是,在utf-8格式下的ini文件读取时就出了问题.

1.每个key最后一个字符如果是中文或者全角字符读不出来.
2.串中有类似于$符号跟中文相连的读出来则是乱码.

以上还没进入转码阶段.也就是说通常的读取ini文件的方法对utf-8编码的ini不能正常读取...

求解决方案~



想到达的目的就是:对一个utf-8编码的ini格式的文件编辑.
或者有没有其它的办法..



...全文
142 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
viena 2005-04-26
  • 打赏
  • 举报
回复
整个文件读到的字符串,不去掉第一个字符也可以,但处理的时候要记得第一个字符是无实际意义的格式标志
viena 2005-04-26
  • 打赏
  • 举报
回复
Dim str_UTF8 As String
Dim str_Unicode As String
Open "E:\a_utf8.txt" For Input As 1
str_UTF8 = StrConv(InputB$(LOF(1), 1), vbUnicode)'读到字符串
str_UTF8 = Right(str_UTF8, Len(str_UTF8) - 1) '第一个字符是格式标志,无实际意义,去掉
Close 1


str_Unicode = UTF8_Decode(str_UTF8)'转换为Unicode
'……
'处理str_Unicode

'或保存到Ansi格式ini文件
Open "E:\tmp_ansi.ini" For Output As #1
Print #1, str_Unicode
Close #1
viena 2005-04-26
  • 打赏
  • 举报
回复
用文本方式把文件整个读到一个字符串,转码后直接处理字符串;
如果一定要用ini文件处理,大不了另外写到一个临时文件,然后读这个文件就好了~
yyuyes 2005-04-26
  • 打赏
  • 举报
回复
都什么年代了啊楼主,还用INI,用XML不是很好啊

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧