Перевод из ANSI в Unicode

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Arthur2626
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 30.03.2007 (Пт) 14:11

Перевод из ANSI в Unicode

Сообщение Arthur2626 » 24.07.2008 (Чт) 12:01

Здравствуйте.
Есть программа баз данных и на ней VSFlexGrid. Данные в базе хранятся в Ansi. Надо данные грида экспортировать в Excel, но чтобы в Excel'e данные были не Ansi, а в Unicode. Как сделать такое преобразование?
Спасибо заранее.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 24.07.2008 (Чт) 13:10

StrConv?
Весь мир матрица, а мы в нем потоки байтов!

Arthur2626
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 30.03.2007 (Пт) 14:11

Сообщение Arthur2626 » 24.07.2008 (Чт) 14:14

Viper, StrConv я знаю, но сколько пробовал не получается.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 24.07.2008 (Чт) 15:41

Arthur2626
А покажи, как применял эту функцию?
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Сообщение Proxy » 24.07.2008 (Чт) 19:11

А анси читабельный или преобразованный для MIME? Т.е. тама как-то было один символ - 4 байта, но информативный только последний. Или не MIME, не помню уже, но с каким-то стандартом точно боролся долго, пока не дошло прочитать вручную чего там приходит. Увидел таки буквы, которые читать надо. Ещё встречал 7 битное преобразование где-то. Тоже тот же ANSI, но только малость с нарушеным принципом.
Follow the white rabbit.

Arthur2626
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 30.03.2007 (Пт) 14:11

Перевод из ANSI в Unicode

Сообщение Arthur2626 » 25.07.2008 (Пт) 8:54

Я так пробовал:

StrConv(ChrW(187), vbUnicode)

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Перевод из ANSI в Unicode

Сообщение Viper » 25.07.2008 (Пт) 9:10

Arthur2626 писал(а):Я так пробовал:

StrConv(ChrW(187), vbUnicode)
И вот нафига тут ChrW? Проще надо быть, и люди к вам потянутся:
Код: Выделить всё
sUnicode = StrConv(sANSI, vbUnicode)
Весь мир матрица, а мы в нем потоки байтов!

Arthur2626
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 30.03.2007 (Пт) 14:11

Сообщение Arthur2626 » 25.07.2008 (Пт) 9:33

А что такое sANSI?
Попробовал в Immediate window:
StrConv("Б", vbUnicode)
Но не получил unicode символ Б.


Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 25.07.2008 (Пт) 9:41

sANSI - твоя исходная строка в ANSI-кодировке.
В Immediate ты его и не увидишь этот символ, не поддерживается там Unicode.
Весь мир матрица, а мы в нем потоки байтов!

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Сообщение Proxy » 25.07.2008 (Пт) 9:44

Гы. А я уж думал что серьёзное)
Follow the white rabbit.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 25.07.2008 (Пт) 9:56

Proxy, что это было? :twisted:
Весь мир матрица, а мы в нем потоки байтов!

Arthur2626
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 30.03.2007 (Пт) 14:11

Перевод из ANSI в Unicode

Сообщение Arthur2626 » 25.07.2008 (Пт) 10:02

Viper, я экспортирую в Excel, но там тоже тот же символ.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 25.07.2008 (Пт) 10:04

Так, стоп! С чего нездоровое желание экспортнуть в Excel строку в Unicode кодировке?
Весь мир матрица, а мы в нем потоки байтов!

Arthur2626
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 30.03.2007 (Пт) 14:11

Перевод из ANSI в Unicode

Сообщение Arthur2626 » 25.07.2008 (Пт) 10:23

У меня есть строка в ANSI кодировке. Надо экспортнуть в Excel преобразовав строку в Unicode.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 25.07.2008 (Пт) 10:38

А анси читабельный или преобразованный для MIME? Т.е. тама как-то было один символ - 4 байта, но информативный только последний. Или не MIME, не помню уже, но с каким-то стандартом точно боролся долго, пока не дошло прочитать вручную чего там приходит
Мда. Как там в стихе
Буря мглою небо кроет вихри черные кружа
То как зверь с Proxy завоешь, то заплачешь как дитя
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Перевод из ANSI в Unicode

Сообщение Viper » 25.07.2008 (Пт) 13:25

Arthur2626 писал(а):У меня есть строка в ANSI кодировке. Надо экспортнуть в Excel преобразовав строку в Unicode.
А ANSI строку экспортровать в Excel религия не позволяет или что? Если надо просто преобразовать строку из ANSI в Unicode, то StrConv. Если надо что-то другое, то что надо то?
Весь мир матрица, а мы в нем потоки байтов!

Arthur2626
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 30.03.2007 (Пт) 14:11

Перевод из ANSI в Unicode

Сообщение Arthur2626 » 25.07.2008 (Пт) 14:18

Да, надо просто преобразовать строку из ANSI в Unicode, но с помощью StrConv как я уже написал не получается:
StrConv("Б", vbUnicode)

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 25.07.2008 (Пт) 15:33

Arthur2626
До сих пор не видим твоего кода, до сих пор не видим причин, зачем нужно преобразование.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Перевод из ANSI в Unicode

Сообщение Viper » 26.07.2008 (Сб) 6:47

Arthur2626 писал(а):Да, надо просто преобразовать строку из ANSI в Unicode, но с помощью StrConv как я уже написал не получается:
StrConv("Б", vbUnicode)
Все получается! Не может не получатся! И Денис прав, где код?
Весь мир матрица, а мы в нем потоки байтов!

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Сообщение SLIM » 26.07.2008 (Сб) 9:27

Да всес скорее всего получается, просто в Exel-е он просматривает в другой кодировке и все. А там соответственно квадратики и т.д. Другой вопрос ЗАЧЕМ все ето надо
Пишите жизнь на чистовик.....переписать не удастся.....

Arthur2626
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 30.03.2007 (Пт) 14:11

Перевод из ANSI в Unicode

Сообщение Arthur2626 » 26.07.2008 (Сб) 10:54

Вот программа.
Вложения
ssss.rar
(3.41 Кб) Скачиваний: 66

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Сообщение SLIM » 26.07.2008 (Сб) 11:35

Я конечно не силен в кодировках, но квадраты пишутся только на русской раскладке клавы. На англицкой все ок. Такое ощущение что другого в таком случае не увидеть. Я пробовал пихать результат в Notepad, Word, Immedate,MsgBox,Exel, в TextBox, да хоть куда, все одно....Вопрос конечно в другом, да в общем как и у всех : Зачем все это надо. Нельзя в обычной кодировке?
Пишите жизнь на чистовик.....переписать не удастся.....

Arthur2626
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 30.03.2007 (Пт) 14:11

Перевод из ANSI в Unicode

Сообщение Arthur2626 » 26.07.2008 (Сб) 11:51

Начальство требует чтобы данные были в Excel'е в Unicode. Т.к. в Excel'е Data, Filter, Autofilter, и при открытии списка значений (при щелчке справа кнопку любого столбца) при ANSI (not Unicode) отображаются крякобразы, а при Unicode - нормально.

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Сообщение SLIM » 26.07.2008 (Сб) 11:57

Я ВПЕРВЫЕ ТАКОЕ СЛЫШУ. Что за краказяблы в ANSI кодировке? Всю свою жизнь не парился по поводу этого - потому что такого не было. Может тут дело в настройках Exel-я а совсем не кодировок...
Пишите жизнь на чистовик.....переписать не удастся.....

Arthur2626
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 30.03.2007 (Пт) 14:11

Перевод из ANSI в Unicode

Сообщение Arthur2626 » 26.07.2008 (Сб) 12:07

Вот файл xls. Там шрифт Arial LatRus. При нажатии на кнопку открывается список а значения невозможно прочитать.
Вложения
11.xls
(14.5 Кб) Скачиваний: 61


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 52

    TopList