|
|
|
Неверная кодировка текста
|
|||
|---|---|---|---|
|
#18+
Подскажите пожалуйста, загружаю с инета html страницу, сохраняю её на диск. Потом Пытаюсь программно найти в ней слово, например "Ошибка", но при загрузке текста из файла, VB грузит его в непонятной кодировке, например "Ошибка авторизац" Как вернуть нужную кодировку??? P.S. так пишутся только русские слова, английский текст воспринимается нормально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 14:32 |
|
||
|
Неверная кодировка текста
|
|||
|---|---|---|---|
|
#18+
Проверь это кодировка Юникод? ----------- Андрей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 15:01 |
|
||
|
Неверная кодировка текста
|
|||
|---|---|---|---|
|
#18+
Открой эту страницу в IE и посмотри вид-кодировка ----------- Андрей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 15:07 |
|
||
|
Неверная кодировка текста
|
|||
|---|---|---|---|
|
#18+
Кстати, если открыть сохранённый документ блокнотом, то весь русский текст читабелен, а если через VB, то нет (( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 15:07 |
|
||
|
Неверная кодировка текста
|
|||
|---|---|---|---|
|
#18+
Да, Unicod UTF-8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 15:10 |
|
||
|
Неверная кодировка текста
|
|||
|---|---|---|---|
|
#18+
и как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 15:16 |
|
||
|
Неверная кодировка текста
|
|||
|---|---|---|---|
|
#18+
AndreyMpstrconv а можно поподробнее.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 15:26 |
|
||
|
Неверная кодировка текста
|
|||
|---|---|---|---|
|
#18+
http://www.vbnet.ru/vbguide/showfunction.asp?id=34 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 15:31 |
|
||
|
Неверная кодировка текста
|
|||
|---|---|---|---|
|
#18+
AndreyMphttp://www.vbnet.ru/vbguide/showfunction.asp?id=34 Спасибо, то что надо! )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 15:35 |
|
||
|
Неверная кодировка текста
|
|||
|---|---|---|---|
|
#18+
Александр888 AndreyMphttp://www.vbnet.ru/vbguide/showfunction.asp?id=34 Спасибо, то что надо! )) Рано я обрадовался ((( Короче, делаю сию процедуру: Private Sub Command2_Click() Open "data\login.htm" For Input As FileNum Do Until EOF(FileNum) Line Input #FileNum, txt alltxt = alltxt + txt + vbCrLf Loop Close #FileNum MsgBox StrConv(alltxt, vbFromUnicode) End Sub и получается вот что: ?????????•??????????????????????????????????????????????????????????????????????????? ??•?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? Что неправильно я делаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 16:09 |
|
||
|
Неверная кодировка текста
|
|||
|---|---|---|---|
|
#18+
HELP!!! Неужели никто не знает, как с этим справится??? (( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 16:49 |
|
||
|
Неверная кодировка текста
|
|||
|---|---|---|---|
|
#18+
Спасибо, вещь хорошая, но можно ли этого добится средствами VB? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 18:10 |
|
||
|
Неверная кодировка текста
|
|||
|---|---|---|---|
|
#18+
НастенькаНет, так дело не пойдет. вот что нашла: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. вроде всё работает, но есть проблема, я заранее не знаю, какая будет кодировка - dos или win. если dos, то в win конвертирует нормально, а если win, то он win в win конвертирует неверное. вопрос: а как заранее узнать кодировку файла? Попытался использовать этот код, выскочило на функции MultiByteToWideChar: --------------------------- Microsoft Visual Basic --------------------------- Ошибка компиляции: Constants, fixed-length strings, arrays, user-defined types and Declare statements not allowed as Public members of object modules --------------------------- ОК Справка --------------------------- как это исправить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 18:29 |
|
||
|
Неверная кодировка текста
|
|||
|---|---|---|---|
|
#18+
Нужно создать обычный модуль и объявить функцию\глобальные переменные там. Собственно об этом компилятор и пишет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 19:32 |
|
||
|
Неверная кодировка текста
|
|||
|---|---|---|---|
|
#18+
знаю, это звучит глупо... но, не могли бы вы написать подробно, как это делать... Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 09:37 |
|
||
|
Неверная кодировка текста
|
|||
|---|---|---|---|
|
#18+
Ух ты. Знакомая процедурка. :) Только вот с UTF может и не работать. К тому же у тебя видимо не UTF-8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 13:13 |
|
||
|
Неверная кодировка текста
|
|||
|---|---|---|---|
|
#18+
А что тогда? Можешь помочь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 13:21 |
|
||
|
Неверная кодировка текста
|
|||
|---|---|---|---|
|
#18+
Выложи свой файл посмотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 13:33 |
|
||
|
Неверная кодировка текста
|
|||
|---|---|---|---|
|
#18+
Вот текст Option Explicit Private Declare Function URLDownloadToFile Lib "urlmon" Alias _ "URLDownloadToFileA" (ByVal pCaller As Long, _ ByVal szURL As String, ByVal szFileName As String, _ ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long Public Event ErrorDownload(FromPathName As String, ToPathName As String) Public Event DownloadComplete(FromPathName As String, ToPathName As String) Public Function DownloadFile(FromPathName As String, ToPathName As String) If URLDownloadToFile(0, FromPathName, ToPathName, 0, 0) = 0 Then DownloadFile = True RaiseEvent DownloadComplete(FromPathName, ToPathName) Else DownloadFile = False RaiseEvent ErrorDownload(FromPathName, ToPathName) End If End Function Private Sub Form_Load() FileNum = FreeFile nomber = 0 nomber_data = 0 stringnomber = 0 string2 = 0 End Sub Private Sub Command1_Click() Call login End Sub Sub login() Call DownloadFile("http://civil.wab.ru/game.php", "data\enter.htm") temp = "data\enter.htm" Call text_load(temp) End Sub Sub text_load(path As String) Open path For Input As FileNum Do Until EOF(FileNum) Line Input #FileNum, txt table_txt(nomber) = txt alltxt = alltxt + txt Loop Close #FileNum MsgBox alltxt End Sub Вот так я загружаю текст... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 13:43 |
|
||
|
Неверная кодировка текста
|
|||
|---|---|---|---|
|
#18+
А вот так пытаюсь поменять кодировку Dim FileNum As Integer Dim txt As String Dim alltxt As String Enum idCodePage Win = 1251 Dos = 866 Koi = 20866 Iso = 28595 Utf = 65001 End Enum Declare Function MultiByteToWideChar Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, _ ByVal lpMultiByteStr As String, ByVal cchMultiByte As Long, ByVal lpWideCharStr As Long, _ ByVal cchWideChar As Long) As Long Declare Function WideCharToMultiByte Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, _ ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByVal lpMultiByteStr As String, _ ByVal cchMultiByte As Long, ByVal lpDefaultChar As String, ByVal lpUsedDefaultChar As Long) As Long Public Function ConvertCodePage(SourseString As String, inPage As idCodePage, outPage As idCodePage) As String Dim LenSourseString As Long Dim strFirst As String Dim strSecond As String Dim RetStrLong As Long LenSourseString = Len(SourseString) strFirst = String(LenSourseString * 2, Chr(0)) strSecond = String(LenSourseString * 2, Chr(0)) RetStrLong = MultiByteToWideChar(inPage, &H1, SourseString, LenSourseString, StrPtr(strFirst), LenSourseString) RetStrLong = WideCharToMultiByte(outPage, 0, StrPtr(strFirst), RetStrLong, strSecond, LenSourseString * 2, ByVal 0, 0) ConvertCodePage = Left(strSecond, RetStrLong) End Function Private Sub Command1_Click() Open "data\login.htm" For Input As FileNum Do Until EOF(FileNum) Line Input #FileNum, txt alltxt = alltxt + txt Loop Close #FileNum Dim strWin As String Dim strUtf As String Dim fsoSave As New FileSystemObject Dim filSave As TextStream Set filSave = fsoSave.CreateTextFile("temp.txt", True) strWin = alltxt strUtf = ConvertCodePage(strWin, Win, Utf) filSave.WriteLine (strUtf) filSave.Close Call ConvertCodePage(alltxt, Utf, Win) MsgBox alltxt End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 13:59 |
|
||
|
Неверная кодировка текста
|
|||
|---|---|---|---|
|
#18+
Александр888Спасибо, вещь хорошая, но можно ли этого добится средствами VB? запуск из VB примерно так Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 15:12 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34991414&tid=2162976]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
81ms |
get tp. blocked users: |
2ms |
| others: | 210ms |
| total: | 400ms |

| 0 / 0 |
