Страница: 1 |
Страница: 1 |
Вопрос: Чтение из файла, файл в юникоде
Добавлено: 26.11.06 13:17
Автор вопроса: Makes
Друзья, помогите разобраться. За ичасток кода буду благодарен неимоверно.
Как считать из файла инфу в Visual Basic 6.0? Инфа на русском и в UNICOD.
При считывании стандартным открытием через Open, получаю абра-кадабру.
Ответы
Всего ответов: 14
Номер ответа: 1
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #1
Добавлено: 26.11.06 14:18
http://www.vbnet.ru/forum/show.aspx?id=92471
Номер ответа: 2
Автор ответа:
Makes
Вопросов: 8
Ответов: 36
Профиль | | #2
Добавлено: 26.11.06 15:18
Все равно не получается. Вот участок проги:
Text1.Text = StrConv(Input(LOF(1), 1), vbFromUnicode)
Close 1
А файл, который я открываю могу выслать по почте прям в таком виде, в котором он у меня есть. Не хочу содержимое файла выкладывать здесь, вдруг кодировка как-нить изменится.
Номер ответа: 3
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #3
Добавлено: 26.11.06 20:11
Dim buffer$
open "c:\1.xml" For binnry As #1
buffer$ = space$(lof(1))
Get #1,,buffer$
Close #1
buffer$ = StrConv(buffer$, vbFromUnicode)
Text1 = buffer$
Номер ответа: 4
Автор ответа:
Makes
Вопросов: 8
Ответов: 36
Профиль | | #4
Добавлено: 26.11.06 20:37
Спасибо за код. Я все так сделал, все равно считывает знаки вопроса.
В чем дело не знаю. Может быть исходная кодировка не Unicod?
Может я вышлю файл по почте?
Можно посмотреть на своем компе - это файл, где аська свою историю сохраняет:
C:\Documents and Settings\Имя Юзера\Application Data\ICQLite\HistoryDB\UIN юзера\Контакт
Номер ответа: 5
Автор ответа:
Makes
Вопросов: 8
Ответов: 36
Профиль | | #5
Добавлено: 28.11.06 20:50
Крик о помощи. АААААААА. Это очень важно. Как можно быстрее.
Номер ответа: 6
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #6
Добавлено: 28.11.06 21:35
Ну отошли, отошли код, господи...
Номер ответа: 7
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #7
Добавлено: 28.11.06 21:36
В смысле xml...
Номер ответа: 8
Автор ответа:
Makes
Вопросов: 8
Ответов: 36
Профиль | | #8
Добавлено: 29.11.06 09:13
Ок.
<version>0x00140032</version>
<event>
<type>0</type>
<incoming>No</incoming>
<time>1161853770</time>
<text>Наташа, почему же ты не отвечаешь?
</text>
</event>
</root>
Номер ответа: 9
Автор ответа:
AndreyMp
ICQ: 237822510
Вопросов: 28
Ответов: 1182
Профиль | | #9
Добавлено: 29.11.06 09:27
Во! Кто то еще стандартным ICQ -клиентом пользуется.
Но перевод то выложили, а код?
Номер ответа: 10
Автор ответа:
Makes
Вопросов: 8
Ответов: 36
Профиль | | #10
Добавлено: 29.11.06 09:38
Какой код? Я пытаюсь считать указанный выше файл двумя вариантами:
1)Указанным участником HACKER
open "c:\1.xml" For binnry As #1
buffer$ = space$(lof(1))
Get #1,,buffer$
Close #1
buffer$ = StrConv(buffer$, vbFromUnicode)
Text1 = buffer$
2)Функцией
Dim FileNum, NextLine As String, LineFromFile As String
FileNum = FreeFile
Open FilePath For Input As FileNum
Do Until EOF(FileNum)
Line Input #FileNum, NextLine
LineFromFile = LineFromFile & NextLine
Loop
Close FileNum
ReadLine = LineFromFile
End Function
В обоих случаях фигня получается. Как считать эту инфу?
Номер ответа: 11
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #11
Добавлено: 29.11.06 15:36
open "c:\1.xml" For binnry As #1
buffer$ = space$(lof(1))
Get #1,,buffer$
Close #1
buffer$ = StrConv(buffer$, vbFromUnicode)
Text1 = buffer$
Ты отошли xml по мылу, а то, что ты выложил, в перекодировке не нуждается.
P.S. И где unicode?
Номер ответа: 12
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #12
Добавлено: 29.11.06 21:55
Вот: у тебя там текст в кодировке UTF-8. Как написано везде, штатными средствами ВБ6 эту кодировку не взять. Нашел ActiveX, возьми у меня на сайте, там все внутри, вместе с xml и необходимыми добавками Вроде все работает, но надо будет покопаться с к/генератором: чего-то я не врубился... Отпишись, ежели разберешся.
Номер ответа: 13
Автор ответа:
Makes
Вопросов: 8
Ответов: 36
Профиль | | #13
Добавлено: 30.11.06 08:06
Спасибо Вам, Арсений. Все скачал, но не разобрался. Это сподвигло меня покопаться в нашем форуме более детально - другого выхода не было. Я нашел такой топик за 2004 год:
Здесь уже обсуждалось, как перевести из UTF-8 в Win.
Все огромное спасибо.
Номер ответа: 14
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #14
Добавлено: 30.11.06 22:10
а... кажеться догадываюсь
По умолчанию шрифт там MS Sans Serif, а он юникод не поддерживает Но ещё у меня есть Lucida Sans Unicode, и как раз набор символов у него кириллический есть, попробуй что-ли