मैंने एएसपीनेट में लिखी गई एन्कोडिंग फ़ाइलों को बदलने के लिए एक फ़ंक्शन बनाया है। मैंने बहुत कुछ खोजा। और मैंने इस पृष्ठ से कुछ विचार और कोड भी इस्तेमाल किए। धन्यवाद।
और यहां कार्य है।
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)
आपको पता होना चाहिए कि आरसी कंपाइलर (कम से कम विजुअल स्टूडियो 2008) यूटीएफ 8 फाइलों का समर्थन नहीं करता है - इन फ़ाइलों के लिए आपको यूटीएफ 16 का उपयोग करना होगा। – bogdan
इसके अलावा, ['GlobalSuppressions.cs'] (http://stackoverflow.com/q/33614568/1497596) यूटीएफ -16 है। – DavidRR