首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
.NET技术
C#
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
用StreamReader如何正确编码读取文本文件并以正常格式显示
加为好友
发送私信
在线聊天
superwxh
rzsh
等级:
发表于:
2008-05-19 17:52:39
楼主
现有一报表,以文本格式存在,其行与列均用 ¦(竖杠)和_(下划线)作为分隔符,小弟想将其转换为网页,用数据流读出,但是使用StreamReader Reader = new StreamReader("d://BFAMRTP.txt", System.Text.GetEncoding("GB2312"));读取后,虽然能显示,但是格式混乱,但是如果直接用IE打开该文本就显示的很好没问题,如果转为ACSII编码,格式对了,但是汉字有显示为乱码,请高手帮助小弟一下啊
问题点数:
100
回复次数:
12
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
gomoku
[char[]]"emkmis"|%{[char]([int]$_+2)}
等级:
发表于:
2008-05-19 18:00:56
1
楼 得分:
0
显示的时候,用等宽字体(比如宋体)?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
superwxh
rzsh
等级:
发表于:
2008-05-19 18:19:58
2
楼 得分:
0
不是字体的问题,我把网页保存成文本,在ultraedit用UTF-8转ASCII就显示正常,现在不知道如何写在程序里
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
purple_tide
锦
等级:
发表于:
2008-05-19 18:25:34
3
楼 得分:
0
编码问题
StreamReader Reader = new StreamReader("d://BFAMRTP.txt", System.Text.GetEncoding("GB2312"));
这里的gb2312要和网站输出的编码一致
不过涉及到中文的一般只有utf8 gb2312 unicode gbk(繁体)
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
superwxh
rzsh
等级:
发表于:
2008-05-19 18:35:03
4
楼 得分:
0
和网站是一致的,但是格式有些不对,用UTF-8是乱码
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zhzuo
秋枫
等级:
发表于:
2008-05-19 18:36:05
5
楼 得分:
0
使用重载构造函数,
public StreamReader(
string path,
bool detectEncodingFromByteOrderMarks
)
path
类型:System.String
要读取的完整文件路径。
detectEncodingFromByteOrderMarks
类型:System..Boolean
指示是否在文件头查找字节顺序标记。
可以尝试下面构造
StreamReader Reader = new StreamReader("d://BFAMRTP.txt",true);
或者使用一下方式
StreamReader Reader = new StreamReader("", System.Text.Encoding.Default);
通过以上方式一般都能解决,不过如果解决不了,就需要指定具体的编码了,
关于编码的相关内容,建议参考下面的文章,
character set,character encoding和xml encoding declaration
http://blog.csdn.net/hansoft/archive/2005/08/29/467772.aspx
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
eping2002
泉明
等级:
发表于:
2008-05-19 20:18:13
6
楼 得分:
0
关注
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
scy251147
狂奔中的蜗牛
等级:
发表于:
2008-05-19 20:42:08
7
楼 得分:
0
streamreader sr=new streamreader("这里是你的文件",system.text.encoding.default);
richtextbox.text=sr.readtoend();
sr.close
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zswang
伴水 清洁工 看帖要回贴
等级:
发表于:
2008-05-19 20:53:49
8
楼 得分:
0
试试先
C# code
StreamReader Reader
=
new
StreamReader(
"
d://BFAMRTP.txt
"
, Encoding.UTF8);
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
DengXingJie
杰西
等级:
发表于:
2008-05-19 20:56:43
9
楼 得分:
0
严重关注
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
superwxh
rzsh
等级:
发表于:
2008-05-19 21:32:35
10
楼 得分:
0
StreamReader Reader = new StreamReader("d://BFAMRTP.txt", Encoding.UTF8);--乱码
StreamReader Reader = new StreamReader("d://BFAMRTP.txt", Encoding.default); --格式不对啊
各位大哥汉字和英文混在一起的文本是不是读起来有问题啊,如果以ASCII读,格式正确,单无法显示汉字,如果以默认或GB2312读,可以正常显示,但是格式不正确的,还有那个文件用UE看就是正常的,用写字板看格式就变了
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
virusplayer
virus
等级:
发表于:
2008-05-19 21:38:19
11
楼 得分:
0
readline
一行一行的读取
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
beblue
好俊的功夫啊
等级:
发表于:
2008-05-19 21:50:52
12
楼 得分:
0
StreamReader Reader = new StreamReader("d://BFAMRTP.txt",true);
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友