powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / в кодировке UTF8 можно читать программно текстовый файл?
10 сообщений из 10, страница 1 из 1
в кодировке UTF8 можно читать программно текстовый файл?
    #39235887
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здравствуйте, щас пользуюсь кодом
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Sub ReadTextFileLine()
 
Dim a As String
Open ("w:\new 2222.txt") For Input As #1
Do Until EOF(1)
Line Input #1, a
 MsgBox$ a
Loop
Close #1
 
End Sub


пока кракозябры выдаёт месседж в кодировке UTF8, если читать в кодировке ANSI текстовый файл тогда всё ОК, но нужно в кодировке UTF8, как? спасибо
...
Рейтинг: 0 / 0
в кодировке UTF8 можно читать программно текстовый файл?
    #39235898
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эндрю, ищи - да обрящешь.
Тема тут была, и даже недавно вроде опять поднималась. Тут или в MSOffice.
...
Рейтинг: 0 / 0
в кодировке UTF8 можно читать программно текстовый файл?
    #39236902
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
нашёл у экселистов, завтра попробую
А вот функция для чтения текстового файла в заданной кодировке:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Function LoadTextFromTextFile(ByVal filename$, Optional ByVal encoding$) As String
    ' функция загружает текст в кодировке Charset$ из файла filename$
    On Error Resume Next: Dim txt$
    If Trim(encoding$) = "" Then encoding$ = "windows-1251"
    With CreateObject("ADODB.Stream")
        .Type = 2:
        If Len(encoding$) Then .Charset = encoding$
        .Open
        .LoadFromFile filename$        ' загружаем данные из файла
        LoadTextFromTextFile = .ReadText        ' считываем текст файла
        .Close
    End With
End Function


это мне писать вместо
Код: vbnet
1.
If Trim(encoding$) = "" Then encoding$ = "windows-1251"


писать
Код: vbnet
1.
 If Trim(encoding$) = "" Then encoding$ = "utf-8"


???
...
Рейтинг: 0 / 0
в кодировке UTF8 можно читать программно текстовый файл?
    #39236919
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это от тебя зависит
совет - как обычно - включить мозг, а не тупо копипастить
...
Рейтинг: 0 / 0
в кодировке UTF8 можно читать программно текстовый файл?
    #39237133
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Option Explicit
 
Sub ReadTextFileLine()
 
    Dim objStream, myTXT, a, Количество_строк, li
    Set objStream = CreateObject("ADODB.Stream")
    objStream.Charset = "utf-8"
    objStream.Open
    objStream.LoadFromFile ("w:\в UTF8.txt")
    myTXT = objStream.ReadText()
    a = Split(myTXT, vbCrLf)
    'Количество_строк = UBound(a) - LBound(a)
    'MsgBox$ Количество_строк
    'MsgBox$ UBound(a)
    'MsgBox$ LBound(a)
    'считает от нуля!!!!!
    For li = LBound(a) To UBound(a)
        MsgBox$ li & vbCrLf & a(li)
    Next li
 
End Sub


почему, то знак ┌ не читает, а знак ┐читает?
это такие знаки в текстовых файлах, которыми таблицы рисуют
...
Рейтинг: 0 / 0
в кодировке UTF8 можно читать программно текстовый файл?
    #39237178
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то есть знак левый служащий отображением верхнего левого угла таблицы НЕ читает, а служащий правым верхним углом таблицы читает, почему?
...
Рейтинг: 0 / 0
в кодировке UTF8 можно читать программно текстовый файл?
    #39237208
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример файла выложи - самостоятельно делать лениво, а попробовать не на чем...
...
Рейтинг: 0 / 0
в кодировке UTF8 можно читать программно текстовый файл?
    #39237217
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, приаттачил
...
Рейтинг: 0 / 0
в кодировке UTF8 можно читать программно текстовый файл?
    #39237270
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мсгбокс значит не отображает, потому как если изменить цикл на

Код: vbnet
1.
2.
3.
4.
5.
For li = LBound(a) To UBound(a)
        MsgBox$ Len(a(li))
        MsgBox$ li & vbCrLf & a(li)
        Selection.TypeText Text:=a(li)
    Next li


то в файле всё правильно отображает
...
Рейтинг: 0 / 0
в кодировке UTF8 можно читать программно текстовый файл?
    #39237452
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а скажите, если читать текстовый файл
AscW(любой_знак) всегда будет = 9474
Asc(любой_знак) всегда будет = 166
???
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / в кодировке UTF8 можно читать программно текстовый файл?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]