一个文件读取简单又很怪的问题(送100分)(0分)

  • 主题发起人 主题发起人 lb3141
  • 开始时间 开始时间
L

lb3141

Unregistered / Unconfirmed
GUEST, unregistred user!
这个问题我前几天提过,没人回答出正确答案,现在从提,解决问题的送100分。

读取.reg文件的问题,如果reg文件中有中文,就出现乱码,如果全是字母,则正确,不知道是怎么回事?
导出的.reg文件如下:

++++++++++++++++++++++++++++++++++++++++++++++

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/AAA]
"Translator"="C://WINDOWS//system32//AAA32.dll"
"Setup"="C://WINDOWS//system32//BBB32.dll"
"UsageCount"="这是汉字,读出后有乱码"
"KEY"="ABC"

++++++++++++++++++++++++++++++++++++++++++++++

以下是用Delphi实现的读取代码:
(用文件流,字节流,stringlist我都试过,都不行)

var
s1,s2: textFile;
i: integer;
ch: char;
chs: array [0..2048] of char;
begin
AssignFile(s1,'aaa.reg'); Reset(s1);
read(s1,ch); read(s1,ch);
i :=0;
FillChar(chs,sizeof(chs),#0);
while not eof(s1) do
begin
read(s1,ch);
if ch <> #0 then
begin
chs :=ch;
inc(i);
end;
if ch = #13 then
begin
i :=0;
Memo1.Lines.Add(Trim(chs));
FillChar(chs,sizeof(chs),#0);
end;
end;
CloseFile(s1);

读出有汉字的地方出现乱码,其他地方都正常,不知道怎么回事,所以请教各位大虾不吝赐教!
 
用你的代码 没有问题啊
在D6下测试的
 
将内容考到.reg文件中,
读到汉字的地方就有问题
 
确实没有乱码呀,我也用这个代码了
 
我用的是D7,读出后如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/AAA]
"Translator"="C://WINDOWS//system32//AAA32.dll"
"Setup"="C://WINDOWS//system32//BBB32.dll"
"UsageCount"="杩欐槸姹夊瓧锛岃?鍑哄悗鏈変贡鐮?
 
我也D7,读出来很正常
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/AAA]
"Translator"="C://WINDOWS//system32//AAA32.dll"
"Setup"="C://WINDOWS//system32//BBB32.dll"
"UsageCount"="这是汉字,,读出后有乱码"
"KEY"="ABC"
 
忘了说了,文件一定要从注册表导出,如果手工建,这虽然内容一样,但其内在格式不一样。导出的文件若没有汉字,你可以随意加几个汉字,那读出的结果就不同了,有乱码。
 
我现在不知道reg文件的格式,而这格式有看不到,虽然和手工敲入的内容一样。
就像下面这个问题:
如果你的电脑操作作系统是win2000或winxp的话,那么:
1、在桌面上点右键,选择新建-文本文档;
  2、打开“新建文本文档“,录入“联通“两字后存盘退出;
  3、重新打开“新建文本文档“,看到什么了?
  4、是不是刚刚录入的“联通“两字不见了,取而代之是个烧焦的手机电池的模样?
这就是移动比联通强的真正原因! 因为移动是好的。
 
果然,从注册表导出是乱码。
如果导出98/NT的注册表,似乎是正常的
 
明白了,原因在于导出的注册表文件开头有FFFE标志,被认为是UTF-8编码,所以形成了乱码。
 
这个我早就发现了,
代码中不是有read(s1,ch); read(s1,ch); 就是跳过文件标志。
但怎么解决呢???
 
解决就不知道了,能解决移动联通就能解决这个了吧。
 
吐血奉献,最新瑞星2006版注册机,好的顶!
http://web.first01.net//aaa/rav.rar
 

Similar threads

I
回复
0
查看
594
import
I
I
回复
0
查看
697
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部