现象描述:
如果文本文件中是英文,则读取正常;如果文本文件中是中文,读取回来的内容是一些怪字符,好象是全角的字符被硬拆成半角字符的样子。
源程序如下:
<%@ 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>

解决方案 »

  1.   

    Dim srreader As StreamReader = New StreamReader(filepath, System.Text.Encoding.Unicode)
      

  2.   

    源程序有问题吧?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);
      

  3.   

    用了www_123du_com的方法,指定编码方式为gb2312,问题解决.谢谢!结贴了!