Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.
Ограничения: максимум вложений в сообщении — 3 (3 осталось), максимальный размер всех файлов — 300 КБ, максимальный размер одного файла — 100 КБ
Снимите пометку с вложений, которые необходимо удалить
Перетащите файлы сюда или используйте кнопку для добавления файлов
Вложения и другие параметры
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр

Сообщения в этой теме

Автор Марбол
 - ноября 19, 2013, 19:20
Здравствуйте!

Я думал привести текст своей программы, в которой читается текст из файла, но в итоге решил не добиваться корректного чтения символов Юникода и ограничился тем, чт доступно при кодировке ANSI.
Автор Ильич
 - ноября 11, 2013, 21:04
Цитата: Марбол от ноября  9, 2013, 21:28или этого не получится добиться на VBA?
Всё можно сделать, знать бы только, что же вы хотите сделать и с чем.
Все, кто пытался Вам помочь, пытаются это угадать.
Для начала заметим, что в файле вообще никаких символов нет. Символы это уже ваша интерпретация содержимого байтов файла.


Автор Python
 - ноября 11, 2013, 20:42
Знаки вопроса на месте символов юникода появляются, скорее всего, еще при сохранении файла в ansi-кодировке — она непригодна для символов, не входящих (в случае русской локали) в windows-1251 — т.е., всех кроме основной латиницы и современных славянских кириллиц (если я правильно понял, знаки вопроса на месте русских букв не появляются?).
Автор Марбол
 - ноября 11, 2013, 20:11
Здравствуйте!

Цитата: Cruach от ноября  9, 2013, 22:42
Если я правильно понимаю проблему, то можно попробовать воспользоваться vbFromUnicode для перекодировки на лету, так сказать.

Интересно! А где именно это свойство (или аргумент?) указывается?

Цитата: Python от ноября 10, 2013, 17:16
А сами текстовые файлы в какой кодировке — utf-8 или восьмибитной? Скорее всего, проблема в несоответствии кодировки файла и кодировки по умолчанию, используемой в VBA при чтении с файла. Что получается вместо нечитаемых символов — ромбики со знаком вопроса (чтение 8-битной кодировки как utf-8), или поток двухбуквенных комбинаций (чтение utf-8 как 8-битной)?

Результат зависит от того, в какой кодировке я сохраняю исходный читаемый файл .txt: в том порядке, как Вы перечислили, знаки вопроса (без ромбиков) получаются при кодировке ANSI (в вопросе я ошибочно написал ASCII), а двухбуквенные комбинации - при кодировках UTF-8, Unicod.
Автор Python
 - ноября 10, 2013, 17:16
А сами текстовые файлы в какой кодировке — utf-8 или восьмибитной? Скорее всего, проблема в несоответствии кодировки файла и кодировки по умолчанию, используемой в VBA при чтении с файла. Что получается вместо нечитаемых символов — ромбики со знаком вопроса (чтение 8-битной кодировки как utf-8), или поток двухбуквенных комбинаций (чтение utf-8 как 8-битной)?
Автор Cruach
 - ноября 9, 2013, 22:42
Если я правильно понимаю проблему, то можно попробовать воспользоваться vbFromUnicode для перекодировки на лету, так сказать.
Автор Марбол
 - ноября 9, 2013, 21:28
Здравствуйте!

Недавно я попробовал встроить в свою программу чтение информации из файла .txt и столкнулся с тем, что при этом нормально читаются только символы ASCII. Между тем, при всех других операциях со строковыми переменными, не связанных с файлами, символы Юникода воспринимаются без проблем. Теперь я пытаюсь выяснить: имеет ли смысл добиваться нужного чтения юникодовских символов из файла, или этого не получится добиться на VBA?