我有一個應用程序解析html頁面並提取一些帶有外來字符的文本,例如'Felvidék Ma'。現在我想將這個輸入到我的數據庫中,但不是以這種格式,而是原始格式。所以在寫入sql server數據庫或寫入文本文件之前,我可以將它轉換爲utf 8。這裏是最初的術語'FelvidékMa'。我使用正則表達式來解析HTML,所以我不知道是否有一個選項來協助這個。這裏是我的代碼:從html解析的特殊字符
If Not String.IsNullOrEmpty(_html) Then
'get all href tags in the html page
Dim regex As Regex = New Regex(_
"<TotalFound>(?<link>.*?)</TotalFound>", _
RegexOptions.IgnoreCase _
Or RegexOptions.CultureInvariant _
Or RegexOptions.IgnorePatternWhitespace _
Or RegexOptions.Compiled _
)
Dim ms As MatchCollection = regex.Matches(_html)
Dim url As String = String.Empty
For Each m As Match In ms
url = m.Groups("link").Value
If Not String.IsNullOrEmpty(url) Then
我發現我的問題的來源。它是在獲取html頁面並閱讀流時。我將默認編碼更改爲UTF 8,現在一切正常。再次感謝。
Dim reader As StreamReader = New StreamReader(responseStream, Encoding.Default)
returnContent = reader.ReadToEnd()
使用nvarchar作爲列類型並對HTML進行實際解析(包括編碼),並且不應該對Unicode有任何問題。 – Joey 2010-08-02 17:18:34
我確實有nvarchar,但我可以在使用正則表達式時轉換編碼 – vbNewbie 2010-08-02 17:24:28