У меня есть приложение, которое анализирует страницу html и извлекает текст с помощью иностранных символов, например «Felvidà© k Ma». Теперь я хочу ввести это в мою базу данных, но не в этом формате, а в исходном формате. Поэтому я могу преобразовать его в utf 8 перед записью в базу данных sql-сервера или даже писать в текстовый файл. вот оригинальный термин «Felvidék Ma». Я использую выражения регулярного выражения для синтаксического анализа 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
У меня есть nvarchar, но я могу преобразовать кодировку при использовании выражений regex – vbNewbie