VBS-файл, сохраненный как utf-8, не запускается - PullRequest
0 голосов
/ 06 января 2012

Я пишу скрипт vbs в блокноте, который добавляет текст в файл Excel, и это работает нормально.

Затем мне нужно было записать символы Unicode в файл Excel, поэтому я сохранил VBS-файл как Unicode и снова все заработало.

Я не пытаюсь записать файл динамически из другой программы, что возможно, но он записывает файл Unicode VBS в формате UTF-8, а затем, когда я пытаюсь запустить файл VBS, он выдает ошибку поговорка ошибка: недопустимый символ Код: 800A0408 Источник: ошибка компиляции Microsoft VBScript

Означает ли это, что я не могу запустить файл, сохраненный в формате utf-8, или я что-то упустил?

Любая помощь будет принята с благодарностью!

Dave

Ответы [ 2 ]

3 голосов
/ 13 декабря 2012

Используйте UCS-2 Little Endian, который принимает символы Юникода и правильно запускает VBS!Вы можете преобразовать любой существующий файл VBS в этот формат, например, с помощью notepad ++.

2 голосов
/ 06 января 2012

C / WScript.exe не может запускать файлы .vbs в кодировке UTF-8. Если вы не можете изменить режим кодирования / записи этой «другой программы», вам нужно либо преобразовать исходный код UTF-8 в UTF-16, либо записать / сгенерировать код в простом ASCII и ввести Unicode данные через ChrW () соотв. внешний файл в кодировке UTF-16 (простой) или UTF-8 (ADODB.Stream).

Комментарий WRT:

Пока вы не используете символы не ascii в строковых литералах - и вы можете избежать этого для некоторых из них, используя ".." & ChrW (..) & ".." - вы можете сохранить .vbs как ascii. Если ваша «другая программа» загружает и сохраняет такой файл, как UTF-8 (без BOM!), Это не имеет значения; но если он добавляет спецификацию, вы должны конвертировать исходный файл.

Возможно, вам следует добавить дополнительные сведения / код, чтобы повысить ваши шансы на получение более качественного совета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...