Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.191.211.66] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте! Есть TXT-файл с диакритическими знаками в UTF-8, при попытке вывести их в TextBox, появляются знаки вопроса. Пробовал Ричтекстбокс, тоже самое.
Полночи просидел в интернете, пытался найти решение, так толком не нашёл ничего. Подскажите, пожалуйста, как быть. Dim barBuffer() As Byte Dim sarLines() As String Dim lngCounter As Long Dim strText As String Open App.Path & "\msg.txt" For Binary Access Read As #1 ReDim barBuffer(FileLen(App.Path & "\msg.txt") - 1) Get #1, , barBuffer Close #1 If (barBuffer(0) = &HEF And barBuffer(1) = &HBB And barBuffer(2) = &HBF) Then strText = Mid(barBuffer, 3) Else strText = barBuffer End If sarLines = Split(strText, vbNewLine) For lngCounter = LBound(sarLines) To UBound(sarLines) barBuffer = sarLines(lngCounter) & vbNewLine txtmsg.Text = barBuffer Next lngCounter |
Сообщ.
#2
,
|
|
|
Ребят, мне тут подсказали такую вещь: "Проблема в том,что VB делает двойное преобразование кодировки.Первая зависит от системных настроек,а вторая в свою. Где-то читал уже точно не помню.Выход предлагался: записывать из буфера в массив,тогда таких преобразований не происходит.Я не проверял, по этому ничего не скажу."
Что скажете по этому поводу? Добавлено Ещё есть такой вариант рабочий (проверял!): RichTextBox.LoadFile App.Path & "\msg.txt" но у RichTextBox не настраивается цвет шрифта, поэтому этот метод не совсем хорош. |
Сообщ.
#3
,
|
|
|
Дали ссылку на юникод-аналоги контролов: http://www.vbforums.com/showthread.php?698...ommon-controls)
без бутылки не компилируется их проект надо разбираться, что там ему не хватает |
Сообщ.
#4
,
|
|
|
Выход - только в использовании контролов, поддерживающих юникод.
можно попробовать использовать веб-браузер контрол или dhtmledit |