#windows #powershell #visual-studio-code #encoding
#Windows #powershell #visual-studio-code #кодирование
Вопрос:
Мой код хорошо работал со специальными символами. Я мог бы использовать Write-Host "é"
без каких-либо проблем.
А затем я переместил некоторые из своих функций в другой файл PS1, который я «поставил в точку» (использование Import-Module делает то же самое), и я получил ошибки кодирования: prénom
стал prénom
Я ничего не понимаю в кодировании. VS Code не позволяет мне изменять кодировку файла. У него есть параметр для установки кодировки по умолчанию, но по умолчанию используется UTF8, и когда я устанавливаю Windows1252, он ничего не меняет. Если я использую Geany для обновления кодировки до Windows1252, это работает… пока я снова не сохраню файл с помощью VS Code.
Все работало хорошо, когда весь мой код был в одном файле. Почему создание этого второго файла .ps1 (который я создал из проводника Windows) может быть проблемой?
Работает на Windows 10, на французском языке, с VS Code 1.50.
Заранее благодарю вас
Комментарии:
1. Windows Powershell (
powershell.exe
или встроенная консоль) настаивает наutf8bom
кодировании скрипта, в отличие от Powershell Core (pwsh.exe
).2. Как вы «переместили некоторые функции в другой файл PS1» — это было сделано вручную с помощью VSCode?
3. Да, вырезать / вставить из одного файла в другой. Сначала я создал файл из проводника Windows, затем открыл его в VS Code, затем вырезал / вставил.
4. @JosefZ что вы подразумеваете под «настаивает»? Встроенная консоль должна быть консолью, используемой в VS Code для выполнения скрипта. Значит, для этого требуется использовать кодировку utf8bom? Но почему эта встроенная консоль работает хорошо, если скрипт находится только в одном файле, но не в том случае, если он разделен?
5. @BrianReynolds спасибо. Это то, что я искал. Если я удаляю UTF8Bom, он завершается ошибкой при первом символе двойной кавычки, что странно.