改为
StreamReader sr = new StreamReader(filename,EncodingDefault);
StreamReader sr = new StreamReader(filename, EncodingUTF8);
主要UTF8这应该是你文档本身的问题,导致乱码可能是因为文件已经破坏掉了,如果新建一个txt
输入文字保存在打开没有出现乱码,那就是你那个文档一:要么文档本身不是txt文本文件(一些应用程序的配置文件什么的),二:那个文件损坏。
电脑打开txt都是乱码主要是因为写字板默认是用ansi编码打文档,如果文档是非ansi编码的,那自然打开会出现乱码。
可以尝试用windows里的记事本来打开尝试一下,会发现这些txt就能正常显示中文了。或者通过下面的方法来打开。
1、在记事本中选择左上角的<文件>菜单,然后选择<另存为>菜单
2、选择另存为选型后,在d出菜单中,在下方可以自行选择编码的格式,如下图红圈部分,一般不用改,用记事本自动选择的即可。
3、、另取一个文件名保存,以防止覆盖原文档,保存后,再使用写字板打开存盘的txt文件,就会发现能够正常显示了。
我用了网上说的很多办法(更改电脑系统语言)神马的,都没用,所以就自己研究出了两种办法,也是最近才研究出来的。
第一种)
用word打开这个文档,会出现让你选择文件转换,选择编码,有中文简体,繁体,英文,什么的。不要更改任何东西,选择确定,然后就会用word显示出正常的文字,没有乱码。
等你的文件全部显示出来后(我都是下载的小说,有几百页,所以通常要花许久才能全部显示出来,电脑又是挺慢的),点击“文件另存为”,打入文件名字,后面,如果没有的话,要加个“txt”,确定。
之后会再次出现文件转换,选择编码(跟打开时一样),这时候你要选择“其他编码”里的“UNICODE”(这很重要),确定。(这一步里一定要用此文件取代原文件,也就是说打入原文件的名字)
最后你可以打开这个文件看看,不过这次要用笔记本打开,打开后应该就不是乱码了
第二种)这种有时候会在最后一步出现一片空白,文件会写为0 byte,所以我推荐第一种方法。
一样,用word打开,不要更改文件编码,选择确定,等文件全部显示出来后(正常文字),复制word上面所有的文字(可以用Ctrl+A)。
现在把原文件用笔记本打开,把里面的乱码内容全部删除,将复制的黏贴在空白页。(这一步很重要,不能开一个新的笔记本,一定要复制到原文件的笔记本里。)
文字全显示出来后点击另存为,打入名字后面(如果没有的话)加“txt”,下面会用个编码的选项,目前应该选择的是“ANSI”,你把它改成“UNICODE”,确定。(这一步里一定要用此文件取代原文件,也就是说打入原文件的名字)
打开文件看一看,如果出现的是1,乱码,或者2,一片空白的话,就用第一种方法。
有问题私信我
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)