Я создал функцию для изменения файлов кодировки, написанных на asp.net. Я много искал. И я также использовал некоторые идеи и коды с этой страницы. Спасибо.
И вот функция.
Function ChangeFileEncoding(pPathFolder As String, pExtension As String, pDirOption As IO.SearchOption) As Integer
Dim Counter As Integer
Dim s As String
Dim reader As IO.StreamReader
Dim gEnc As Text.Encoding
Dim direc As IO.DirectoryInfo = New IO.DirectoryInfo(pPathFolder)
For Each fi As IO.FileInfo In direc.GetFiles(pExtension, pDirOption)
s = ""
reader = New IO.StreamReader(fi.FullName, Text.Encoding.Default, True)
s = reader.ReadToEnd
gEnc = reader.CurrentEncoding
reader.Close()
If (gEnc.EncodingName <> Text.Encoding.UTF8.EncodingName) Then
s = IO.File.ReadAllText(fi.FullName, gEnc)
IO.File.WriteAllText(fi.FullName, s, System.Text.Encoding.UTF8)
Counter += 1
Response.Write("<br>Saved #" & Counter & ": " & fi.FullName & " - <i>Encoding was: " & gEnc.EncodingName & "</i>")
End If
Next
Return Counter
End Function
Он может поместить в .aspx файл, а затем называется как:
ChangeFileEncoding("C:\temp\test", "*.ascx", IO.SearchOption.TopDirectoryOnly)
Вы должны знать, что компилятор RC (как минимум до Visual Studio 2008) не поддерживает файлы UTF8 - для этих файлов вам необходимо использовать UTF16. – bogdan 2009-12-23 12:32:53
Кроме того, [`GlobalSuppressions.cs`] (http://stackoverflow.com/q/33614568/1497596) является UTF-16. – DavidRR 2017-01-05 14:05:26