求助!用asp.net操作文件写入产生*.htm怎么中文成了烂码了?
Dim strwriterobj As StreamWriter
Dim contxt as String
file_name = filename.text
contxt = body.text
' 其中body.text是要写入文件的内容
strwriterobj = File.CreateText ( file_name )
' 创建一个文件,并把此文本文件作为对象分派给 streamwriter对象
strwriterobj.WriteLine( contxt )
' 把文本内容写入文件中
strwriterobj.Close
'关闭对象
写入后的文件123.htm中文显示成了烂码?!~!!!
问题点数:0、回复次数:13Top
1 楼mcwolf001(阿刚)回复于 2003-11-01 22:06:37 得分 0
up
Top
2 楼saucer(思归)回复于 2003-11-01 22:07:07 得分 0
strwriterobj = new StreamWriter ( file_name, false, System.Text.Encoding.GetEncoding("GB2312") )Top
3 楼arding123(阿拉丁)回复于 2003-11-02 21:29:54 得分 0
GetEncoding 对 一定要用代码转换的Top
4 楼mcwolf001(阿刚)回复于 2003-11-03 09:06:06 得分 0
还是不太懂!
GetEncoding怎么用上去!
strwriterobj = File.CreateText ( file_name )
???继续关注Top
5 楼mcwolf001(阿刚)回复于 2003-11-03 09:40:49 得分 0
upTop
6 楼wwonion(洋葱)回复于 2003-11-03 10:08:15 得分 0
using System.Text; file_name = filename.text
Dim strwriterobj As StreamWriter = File.CreateText ( file_name, false,Encoding.GetEncoding("GB2312"))
Dim contxt as String
contxt = body.text
' 其中body.text是要写入文件的内容
' 创建一个文件,并把此文本文件作为对象分派给 streamwriter对象
strwriterobj.WriteLine( contxt )
' 把文本内容写入文件中
strwriterobj.Close
'关闭对象
写入后的文件123.htm中文显示成了烂码?!~!!!Top
7 楼mcwolf001(阿刚)回复于 2003-11-03 10:18:36 得分 0
Dim strwriterobj As StreamWriter = File.CreateText ( file_name, false,Encoding.GetEncoding("GB2312"))
运行后
BC30057: “Public Shared Function CreateText(path As String) As System.IO.StreamWriter”的参数太多。Top
8 楼xxdneu(xxd)回复于 2003-11-03 10:25:27 得分 0
Dim strwriterobj As StreamWriter
dim fs as FileStream
Dim contxt as String
file_name = filename.text
contxt = body.text
' 其中body.text是要写入文件的内容
fs = File.Create( file_name )
strwriterobj=new StreamWriter(fs,Encoding.GetEncoding("GB2312"))
' 创建一个文件,并把此文本文件作为对象分派给 streamwriter对象
strwriterobj.WriteLine( contxt )
' 把文本内容写入文件中
fs.close
strwriterobj.Close
'关闭对象
写入后的文件123.htm中文显示成了烂码?!~!!!Top
9 楼Superping(菜虾)回复于 2003-11-03 11:17:11 得分 0
我使用的上传代码,你可参考试试
<Script Language="VB" Runat="Server">
Sub Upload(sender As Object, e As Eventargs)
Dim StoredString,LinkString As String
Dim Myconn As SQLconnection
Dim Mycommand As SQLcommand
If myFile.PostedFile.ContentLength = 0 or myFile.PostedFile.ContentLength > 10*1024*1024 Then
Result.Text = "上传失败!指定的文件不存在或文件大小超过10M !"
FileInfo.Visible = False
Else
'获取文件名称
Dim Route() As String = Split(myFile.PostedFile.FileName, "\")
Dim FileName As String = Route(Route.Length - 1)
If kemu.value ="" then
kemu.value = FileName
end if
if shuoming.value = "" then
shuoming.value = FileName
end if
'写数据库记录
Myconn = Com_ConnOpen
LinkString = "http://*********" & FileName
MyCommand = New SQLCommand("InsertDownloadInformation",Myconn)
MyCommand.CommandType = CommandType.StoredProcedure
Mycommand.Parameters.Add("@UserID",Session("UserID"))
Mycommand.Parameters.Add("@UserName",Session("UserName"))
Mycommand.Parameters.Add("@FilesName",FileName)
Mycommand.Parameters.Add("@Link",LinkString)
Mycommand.Parameters.Add("@FilesSize",Math.Round(myFile.PostedFile.ContentLength /( 1024*1024 ), 2))
Mycommand.Parameters.Add("@instruction",shuoming.value)
Mycommand.Parameters.Add("@topic",kemu.value)
'执行写库表操作
MyCommand.ExecuteNonquery()
'关闭数据库连接
MyConn.Close()
'保存文件
myFile.PostedFile.SaveAs(Server.MapPath("******") & "\" & FileName)
'显示上传结果
FileInfo.Visible = True
Result.Text = "上传成功"
FName.Text = FileName
FSize.Text = Math.Round(myFile.PostedFile.ContentLength / 1024, 2) & "KB"
FType.Text = myFile.PostedFile.ContentType
End If
End Sub
</Script>
Top
10 楼mcwolf001(阿刚)回复于 2003-11-07 17:46:17 得分 0
?Top
11 楼yanlong(西風葉落)回复于 2003-11-07 18:07:14 得分 0
关注Top
12 楼lyhold(让你飞)回复于 2003-11-08 12:51:17 得分 0
关注中,我也有这个问题。Top
13 楼xiaotubie(xiaotubie)回复于 2003-11-08 13:29:04 得分 0
你的问题我遇到过
strwriterobj=new StreamWriter(fs,Encoding.GetEncoding("GB2312"))
这句话有问题,改为Encoding的其它枚举类型,我记得用UTF7或UTF8就可以搞定Top




