关于C++ Builder 和 Dephi读取文本文件TXT出现中文乱码的问题
最近因需要读取一个中间文件数据格式,该文件是以TXT文本格式传送的。在读的过程中发现采用TStringList和puts的方法都出现中文乱码的问题,这是从来没有发现的,以前都是用这种方式读取文件,中文都是显示正常的。后来通过UTF8Decode转换读取的字符串后,中文显示正常,但仍然发现第一个字符出现“?”这个字符,还好格式中的数据没有"?"的格式,所以通过删除这个特殊的字符解决。
当想起是不是文件有问题时,我用记事本打开这个TXT文本格式,当使用“另存为时”发现文件采用了UTF-8编码保存,于是我采用Ansi的编码格式保存后,使用TStringList的Strings方法可以正常读取中文,原来是文件格式的问题,由于这个文件是由另一个程序生成,这个造成读取之间的差异。如果出现这个情况的朋友也不妨用这个方式查找一下吧。
written By Jason