请问怎么解决 导出的CSV文件中出现乱码?????

LoveInChongQing 2008-04-14 05:37:17
Protected Sub BTN_CSV_Click1(ByVal sender As Object, ByVal e As System.EventArgs) Handles BTN_CSV.Click
'CSV処理
Dim OutFilePath, OutFileName As String
Dim dt As System.Data.DataTable
dt = Session("IPD003_DT")

OutFileName = Format(Today, "yyyyMMdd") & Format(Now, "hhmmss") & ".csv"
OutFilePath = Environment.GetEnvironmentVariable("TEMP") & "\" & OutFileName

PutCSVExcel2(Me.Migrated_DETAIL2, dt, OutFilePath, Me)

Response.Clear()
Response.AppendHeader("Content-disposition", String.Format("attachment;filename={0}", OutFileName))
Response.WriteFile(OutFilePath)
Response.End()
End Sub
...全文
596 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
knowledge_Is_Life 2008-05-01
  • 打赏
  • 举报
回复
都是很好的建议! 值得学习
LoveInChongQing 2008-04-23
  • 打赏
  • 举报
回复
问题还是没解决啊.我不可能去一个字段一个字段的转换编码吧...
有没有更好的办法,请高手指教.
HimeTale 2008-04-16
  • 打赏
  • 举报
回复
 
Dim bytInput As Byte() = Me.FileUpload.FileBytes
'编码转换
Dim strFileContent As String = Encoding.[Default].GetString(bytInput)

Dim strFileContentRow As String() = strFileContent.Split(strSplit, StringSplitOptions.RemoveEmptyEntries)
exing 2008-04-16
  • 打赏
  • 举报
回复
输出文件的编码要和文件中的文字编码一致
LoveInChongQing 2008-04-16
  • 打赏
  • 举报
回复
从数据库获取的数据并不是乱码,在写入到CSV时出现的乱码.
Public Function PutCSVExcel2(ByVal DGrid As System.Web.UI.WebControls.DataGrid, ByVal dt As System.Data.DataTable, ByVal OutFileName As String, ByVal HtWebPage As Page) As String
Try
Dim Sr As String, fno As Integer
Dim Count As Integer
Dim i, j As Integer
Dim wFLG As Integer

fno = FreeFile()

FileOpen(fno, OutFileName, OpenMode.Output, OpenAccess.Write)

Count = DGrid.Columns.Count
wFLG = 0
Sr = ""

For i = 1 To DGrid.Columns.Count - 1
If wFLG = 0 Then
Sr = """" & DGrid.Columns(i).HeaderText & """"
wFLG = 1
Else
Sr = Sr & ",""" & DGrid.Columns(i).HeaderText & """"
wFLG = wFLG + 1
End If
Next i

PrintLine(fno, Sr)

For i = 0 To dt.Rows.Count - 1
wFLG = 0
Sr = ""
For j = 0 To dt.Columns.Count - 1
If wFLG = 0 Then
Sr = Sr & """" & Replace(dt.Rows(i).Item(j), " ", " ") & """"
wFLG = 1
Else
Sr = Sr & ",""" & Replace(dt.Rows(i).Item(j), " ", " ") & """"
wFLG = wFLG + 1
End If
Next j
PrintLine(fno, Sr)
Next
FileClose(fno)
Catch

End Try

Return Nothing
End Function
yudi010 2008-04-16
  • 打赏
  • 举报
回复
导出的时候进行字节转化
daisylh 2008-04-16
  • 打赏
  • 举报
回复
參考http://forums.microsoft.com/china/ShowPost.aspx?PostID=3136056&SiteID=15一下
文件的名稱需要作處理

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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