在asp.net中用streamread读文本文件的一个问题,请各位帮忙!

zjwlchenyong 2006-08-09 08:32:48
现象描述:
如果文本文件中是英文,则读取正常;如果文本文件中是中文,读取回来的内容是一些怪字符,好象是全角的字符被硬拆成半角字符的样子。
源程序如下:
<%@ Import Namespace = "system.io" %>
<HTML>
<HEAD>
<TITLE> 如何读取一个字符 </TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<script language="vb" runat="server">
sub button1_click(obj as object, e as eventargs)
dim filepath as string
filepath=server.mappath("/" & path1.text)
dim srreader as streamreader = new streamreader(filepath)
dim buffer(2) as char
srreader.read(buffer,0,2)
srreader.close()
response.write("读到的字符为:" & buffer)
end sub
</script>
</HEAD>

<BODY>
<form runat="server">
文件名:<asp:textbox id="path1" columns="50" runat="server" /><P>
<asp:button id="button1" text="读取一个字符" onclick="button1_click" runat="server" />
</form>
<span id="show1" runat="server" />
</BODY>
</HTML>
...全文
189 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjwlchenyong 2006-08-10
  • 打赏
  • 举报
回复
用了www_123du_com的方法,指定编码方式为gb2312,问题解决.谢谢!结贴了!
www_123du_com 2006-08-09
  • 打赏
  • 举报
回复
源程序有问题吧?

new streamreader(filepath,...这里指定编码);

如:
new StreamReader(filepath,System.Text.Encoding.GetEncoding("gb2312"));
new StreamReader(filepath,System.Text.Encoding.UTF8);
new StreamReader(filepath,System.Text.Encoding.Unicode);
coolstarhty 2006-08-09
  • 打赏
  • 举报
回复
Dim srreader As StreamReader = New StreamReader(filepath, System.Text.Encoding.Unicode)
ykbbx 2006-08-09
  • 打赏
  • 举报
回复
你先看一下字符的编码吧,你看一下编码后再说,我以前也遇到过,不过把编码改成为gb2312

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧