C#读取中文,但输出乱码

读取含有中文的.txt文件时,输出时却是乱码。其实未必是filewriter的encoding要改,而可能是filereader的encoding要改。也就是说读取汉字的时候就是乱码,那么输出就是乱码。所以要先看看filereader。




这是给成UTF-8后可以正确的解决问题。原来是default,所以不对。


由于本人用JAVA写读取文件的情况也遇到读中文乱码,特此补充一下。得到乱码的代码如下:

BufferedReader br = new BufferedReader(new FileReader(new File(path)));  


解决办法如下代码:

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(datafile),"UTF-8"));    

换成Inputstreamreader,后面写上UTF-8就好了。

你可能感兴趣的:(C#)