我的web proyect中有一个目录:
home.text
在home.txt文件中我有这个文字:
ESPAÑA_BOLSA.xlsx
所以我在vb.net中有这个代码从.txt文件中提取文本:
Public Shared Function GetTextFromTXT() As String
Dim FilePath As String = HttpContext.Current.Server.MapPath("~/excel/home.txt")
' Creates instance of StreamReader class
Dim sr As StreamReader = New StreamReader(FilePath)
' Finally, loads file to string
Dim FileContent As String = sr.ReadToEnd().ToString
Return FileContent
End Function
但是使用此代码我在Filecontent中得到了这个结果:
ESPA�A_BOLSA.xlsx
所以我使用这一行来尝试解码文本,但不起作用:
FileContent = WebUtility.HtmlDecode(FileContent)
结果应该来自Filecontent字符串:
ESPAÑA_BOLSA.xlsx
我做错了什么?谢谢,我接受建议
答案 0 :(得分:3)
您需要使用Encoding
的{{3}},并传入适当的编码 - 否则默认使用UTF-8。 Encoding.Default
可能有效,否则您需要使用特定的编码。我不知道您的文件是如何编码的,因此无法告诉您所需的确切价值,但您可以尝试:
Dim sr As StreamReader = New StreamReader(FilePath, System.Text.Encoding.Default)
' or, as an example - you may need a different encoding
Dim sr As StreamReader = New StreamReader(FilePath, System.Text.Encoding.GetEncoding("Windows-1252"))