这几天统计一个词典,为藏文词典,以Unicode编码保存。要对其进行过滤处理,并且要保存处理后的结果。
在一开始出现了一下问题:
1,把源文件读到程序中,重新写回去,没问题
2,在对原文件处理后,重新写回去,出现乱码
原来,在程序处理时,把Unicode文件的头标志,过滤掉了。这样,写入的文件虽然是Unicode文件,但是,没有头标志,程序没法判断文件编码,只有按默认的ANSI编码读取。这当然出现乱码。
后来,在要写入的字符串前,加入Unicode头标志'/xfeff',这样没有再出现乱码情况。
一个简单的问题,在C++中会导致严重的错误。