C#中StreamReader读取中文出现乱码
转自yhrun原文C#中StreamReader读取中文出现乱码
原因是自Windows 2000之后的操作系统在文件处理时默认编码采用Unicode
所以.NET文件的默认编码也是Unicode。除非另外指定,StreamReader的默认编码为Unicode,
而不是当前系统的ANSI代码页。但是文档大部分还是以ANSI编码存储,中文文本使用的是GB2312,所以才造成中文乱码
所以在读取文本的时候要指定编码格式。
使用System.Text.Encoding.Defaul告诉StreamReader采用目前操作系统的编码即可。
如:
FileStream fs = new FileStream("1.txt", FileMode.Open, FileAccess.Read);
StreamReader read = new StreamReader(fs, Encoding.Default);
string str;
while (read.Peek() != -1)
{
str = read.ReadLine();
Console.WriteLine(str);
}
read.Close();

C#中StreamReader读取中文出现乱码的更多相关文章
- [转]C#中StreamReader读取中文出现乱码
摘自:C#中StreamReader读取中文出现乱码 原因是自Windows 2000之后的操作系统在文件处理时默认编码采用Unicode所以.NET文件的默认编码也是Unicode.除非另外指定,S ...
- C#中StreamReader读取中文时出现乱码问题总结
之前有一篇文章" C#读取及写入配置文件教程"(http://blog.csdn.net/lisenyang/article/details/47291083)当中有一个问题就是在 ...
- C#中StreamReader读取中文文本出现乱码的解决方法
在编写文本文件读写程序的过程中,有如下代码 StreamReader sr = new StreamReader(FileName); 结果发现打开中文文本文件出现乱码. 究其原因,原来自从Windo ...
- 详解Intellij IDEA中.properties文件中文显示乱码问题的解决
首先,你可能会见到如下提示: File encoding is disabled because .properties file (see Settings|Editor|File Encoding ...
- 将中文库导入到ARM板子中以解决中文显示乱码的教程
1.将中文字符集导入到ARM板子中的/usr/fonts/目录下 在这里我们使用的字符集为:DroidSansFallback.ttf 下载地址为:https://pan.baidu.com/s/1e ...
- [UnicodeEncodeError]:Django中解决URL中文解释乱码问题
Django中在使用HttpResponseRedirect的时候,跳转URL中如果存在中文,会报错:会报UnicodeEncodeError错误. 解决办法: 使用urlquote对URL进行编码 ...
- 【转】CStdioFile UNICODE编译 英文系统下读取中文汉字乱码解决
转载出处:http://www.cnblogs.com/ct0421/p/3242418.html 函数原形为:char *setlocale( int category, const char *l ...
- 【thrift】vc中使用thrift中文字符串乱码问题解决
问题描述: VC中使用Apache thrift时,如果字符串中包含中文,会出现乱码问题,这个问题的原因是由于thrift为了达到跨语言交互而使用了UTF-8格式发送字符串,这点对java或者C#不会 ...
- windows命令行下redis读取中文字符乱码
我在eclipse上对redis进行了一个操作,添加了一个中文字符串进去,可以看到是添加成功了的 但是在命令行中读取的时候却成了乱码,如下图所示 这是因为windows命令行的编码是gbk 可以通过如 ...
随机推荐
- 在IIS上搭建FTP站点
操作环境 系统:win7 IIS版本:7.5 FTP传输工具:FlashXP 概述 本文介绍了如何在win7下利用IIS(默认已安装IIS和FTP功能)搭建FTP站点,FTP站点的常用配置. 快速搭建 ...
- 关于dyld: Library not loaded
在接入智凡迪的sdk过程中,遇到以下问题: dyld: Library not loaded: @rpath/SDKFramework.framework/SDKFramework Referen ...
- Windows下ruby安装和ri设置
1. ruby最强大的web框架ruby on rails .必学的.所以可以直接安装RailsInstaller. 地址:http://www.railsinstaller.org/en .安装过程 ...
- SVN 如何更新整个目录
SVN 有时会遇到更新整个目录的情况, 比如依赖的某个库有了新版本, 需要更新. 这个时候的处理可能需要注意一些问题.(直接跳到最后看结论) 举个例子: 根文件是 test, 里面用 external ...
- BZOJ2753 SCOI2012 滑雪与时间胶囊 【最小生成树】*
BZOJ2753 SCOI2012 滑雪与时间胶囊 Description a180285非常喜欢滑雪.他来到一座雪山,这里分布着M条供滑行的轨道和N个轨道之间的交点(同时也是景点),而且每个景点都有 ...
- 20179223《Linux内核原理与分析》第二周学习笔记
第二周实验 本周学习情况: 学习了X86 cpu的几个寄存器及X86汇编指令: movl %eax,%edx edx=eax %表示一个寄存器,把eax内容放入edx,等号相当于把eax赋值给edx, ...
- appium python实例脚本1
#coding=utf-8import os, time, unittestfrom appium import webdriver PATH = lambda p:os.path.abspath(o ...
- Django的url别名功能的使用
- URL: from django.urls import reverse url(r'^all/(?<article_type_id>\d+).html$', home.index, ...
- HttpMessageConvert
1. 我们先来看看框架会自动注册哪些httpmessageconvert? 在哪个地方开始注册的? 在对mvc:annotation-driven解析的AnnotationDrivenBeanDefi ...
- [LeetCode系列]最大容器问题
给定n个数: a1, a2, ... , an. 代表着(i, ai)个点, 连接这些点与对应的(i, 0), 我们可以得到n条线. 请在这n条线中找出2条, 使得这两条线和x轴构成的容器能够容纳最多 ...