为防止音标/拼音在网页上显示乱码,需要对特殊字符进行Asc编码转换,下面是在网页上使用编码后显示文字的方法:
'VB.net Public Shared Function ascEncode(ByVal str As String) As String If str = String.Empty Then Return String.Empty Else Dim sb As System.Text.StringBuilder = New StringBuilder() Dim chars As Char() = str.ToCharArray() For i As Integer = 0 To chars.Length - 1 Dim j As Integer = AscW(chars(i)) If j > 31 And j < 127 Then '除ASCII 31-127以外进行编码,以防止网页乱码 sb.Append(chars(i).ToString()) Else sb.Append("&#" & j.ToString() & ";") End If Next Return sb.ToString() End If End Function
//C# public static string ascEncode(string str) { if (str == string.Empty) { return string.Empty; } else { System.Text.StringBuilder sb = new StringBuilder(); char[] chars = str.ToCharArray(); for (int i = 0; i <= chars.Length - 1; i++) { int j = (int)chars[i]; if (j > 31 & j < 127)//除ASCII 31-127以外进行编码,以防止网页乱码 { sb.Append(chars[i].ToString()); } else { sb.Append("&#" + j.ToString() + ";"); } } return sb.ToString(); } }
|