Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблема с кодировкой / 4 сообщений из 4, страница 1 из 1
30.09.2010, 22:55
    #36875758
motorway
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
Появилась проблема с кодировкой.
Данные в Эксел поступают от PHP скрипта. Почему-то кодировка в Экселе становится windows-1252 (при проверке на сайте Лебедева декодер пишет CP1252->CP1251):
Áàìïåð äëÿ.
Как с помощью VBA перекодировать строку в windows-1251?
...
Рейтинг: 0 / 0
30.09.2010, 23:08
    #36875777
motorway
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
Вот откопал какой-то вариант, не знаю, для всех ли случаев он полностью нормален:
a$="...."
RegionTo% = &H419 ' в какой код преобразовывать
For i% = 1 To Len(a$)
k1% = AscW(Mid(a$, i, 1)) ' Unicode
k2% = k1%\&h100 'старший байт кода
Select Case k2% ' в зависимости от типа кодовой таблицы
Case 4 ' Cyrillic
RegionFrom% = &H419 'Россия
Case 1 'Central European
RegionFrom% = &H415 'Польша
Case 0 ' Western
RegionFrom% = &H409 'США
Case Esle ' Все остальные
Stop ' неизвестный код
End Select
a1$ = StrConv(ChrW(k1%), vbFromUnicode, RegionFrom%)
Mid$(a$, i, 1) = StrConv(a1$, vbUnicode, RegionTo%)
Next i
msgbox a
...
Рейтинг: 0 / 0
01.10.2010, 00:03
    #36875847
aduka05adm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
...
Рейтинг: 0 / 0
01.10.2010, 00:07
    #36875856
motorway
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой
Спасибо, пока что работает тот вариант, который сверху я написал. Если вдруг начнет глючить, попробую те варианты сделать
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблема с кодировкой / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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