再次探讨判断文本文件编码格式的问题
											背景介绍:1、读入一段文本,由于VFP对ANSI支持较好,那么读入前,我们需要有一个机制,预先判断文本文件的编码格式,
如果是ANSI编码,则直接把文件读入到界面;否则,如果不是ANSI编码,则弹出警告框,提示用户先转换编码格式再读入。
2、本人已经看过十豆三老师的文章,比如这个:http://blog.
问题:
目前找到的办法(指VFP下的办法,也包括十豆三老师的办法),都存在一个缺陷,即部分文件格式,会误判断。
比如十豆三老师 判断编码格式的代码:
 程序代码:
程序代码:*--文本文件的编码格式手动查看方法:
lcFileName='C:/A.txt'    &&文本文件名
lcStr=Filetostr(lcFileName)
lcStrType=Createbinary(Substr(lcStr,1,2))
Do Case
    Case lcStrType=0hEFBB    &&VFP6.0不支持此种方式,此实列是在VFP9.0+SP2下测试的。
        lcCode='UTF-8'
    Case lcStrType=0hFFFE
        lcCode='Unicode'
    Case lcStrType=0hFEFF
        lcCode='Unicode big endian'
    Otherwise
        lcCode='ANSI'
Endcase
?'此文本的编码格式为:',lcCode举例说明:
附上2个附件,这些附件,明明不是ANSI格式,但是用以上方法,都判断失误。
所以,各位有没有办法能准确的判断?(用VFP代码实现)
目前我自己采用的办法是:
用写了一个DLL,这个DLL倒是可以准确判断文件的编码格式,然后,我在VFP中,调用这个DLL。
有点绕,但是好在也能解决问题。
问题是解决了,但是想探讨一下用纯VFP手段有没有办法做到?
 Utf8WithoutBom示例.rar
				(3 MB)
Utf8WithoutBom示例.rar
				(3 MB)
				
				
			 Unicode示例.rar
				(228 Bytes)
Unicode示例.rar
				(228 Bytes)
				
				
			


 
											






 
	    

 
	
 
											



 Unicode示例.7z
Unicode示例.7z
