|
主题: 为什么用StreamReader读文件是乱码?谢谢
|
groove
职务:普通成员
等级:1
金币:0.0
发贴:35
|
#12004/10/27 19:53:14
为什么用StreamReader读文件是乱码?谢谢 那个文件夹里有web.config 用response.writefile读不是乱码。 请帮我看看怎么回事,谢谢!!!!!
|
蓝鲸
职务:版主
等级:5
金币:42.1
发贴:2614
|
#22004/10/27 22:01:44
StreamReader是流的输出,需要解码,比如是UTF8编码的文件需要UTF8解码,而中国文件的编码,也需要中国文件的解码。中国文字的编码是GB18030,读时: StreamReader sr = new StreamReader(pathSource,Encoding.GetEncoding("GB18030"));
Web.config里的编码如果要中文支持,需要设置为GB3212码。
非常大鱼
|
groove
职务:普通成员
等级:1
金币:0.0
发贴:35
|
#32004/10/27 22:38:41
请问这句应该加在哪?谢谢 我加了之后不行。。。 Compilation Error Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. Compiler Error Message: BC30684: 'StreamReader' is a type and cannot be used as an expression. Source Error: Line 23: <td width="33%"><font color="#FFFFFF"> Line 24: <% Line 25: StreamReader("li.txt",Encoding.GetEncoding("GB18030" ); Line 26: %> Line 27: </font></td> 我用的vb语言编写。。。 应该怎样改?谢谢!!!
编辑历史:[此帖最近一次被 groove 编辑过(编辑时间:2004-10-27 22:45:37)]
|
蓝鲸
职务:版主
等级:5
金币:42.1
发贴:2614
|
#42004/10/27 23:47:03
文件名要用Server.MapPath("li.txt")
读取方法 StreamReader sr = new StreamReader(pathSource,Encoding.GetEncoding("GB18030"));
while ( sr.Peek() >= 0 ) { strLine = sr.ReadLine(); }
另有ReadToEnd、WriteLine、Read等方法;我这方面只做过小程序,请看VS2003联机帮助。
编辑历史:[此帖最近一次被 蓝鲸 编辑过(编辑时间:2004-10-27 23:58:14)]
非常大鱼
|
groove
职务:普通成员
等级:1
金币:0.0
发贴:35
|
#52004/10/28 19:48:51
谢谢,使用那个代码用说是什么语言吗?我输入之后什么效果也没有,语句就像普通文字一样出现在网页上。 请问用vb语言怎么用StreamReader显示中文?
编辑历史:[此帖最近一次被 groove 编辑过(编辑时间:2004-10-28 20:11:41)]
|
蓝鲸
职务:版主
等级:5
金币:42.1
发贴:2614
|
#62004/10/28 20:36:23
上面代码已写很清楚了,详细的资料参考MSDN帮助,它是最权威的。
VB.Net代码: Dim sr As StreamReader = New StreamReader(pathSource, Encoding.GetEncoding("GB18030"))
While sr.Peek()>= 0 strLine = sr.ReadLine End While
非常大鱼
|