Visual studio code как изменить кодировку файла

In this tutorial, You learn how to change the VSCode encoding to (UTF-8, UTF-16, ANSI, ISO-8859-1, Arabic, Japanese), Set encoding for a single file for reopening and save and global encoding permanently

In this tutorial, You learn how to change the VSCode encoding to (UTF-8, UTF-16, ANSI, ISO-8859-1, Arabic, Japanese), Set encoding for a single file for reopening and save and global encoding permanently.

In this tutorial, You learn how to change the VSCode encoding to (UTF-8, UTF-16, ANSI, ISO-8859-1, Arabic, and Japanese)

There are multiple ways we can do this

  • Change encoding to the opened file
  • Update encoding permanently and globally in VSCode

What is the default encoding for Visual studio code?
The default encoding is UTF-8. you can change it

How to change encoding for an open file in VS Code

In this approach, You can change the encoding for a single file or opened file.

Open a file in Visual Studio Code, If the file is not opened, The below option is not visible

You will see the UTF-8 text in the bottom bar of the Visual studio code

Visual Studio Code (VSCode) change encoding

  • Clicking on the UTF-8 label, you will see two options as seen below

Visual Studio Code (VSCode) change encoding

  • Select One of the options below

    • Reopen with Encoding- The file is reopened with the selected encoding
    • Save with Encoding — The file is saved with selected encoding.
      you can choose one of the options from above.
  • Again one more popup appears to select encoding from all encoding lists as seen below

Visual Studio Code (VSCode) encoding list

you can select one from the list i.e Japanese or Korean or your required one.

That’s it, the file will be opened or saved with the selected encoding

This approach only works for a single file.

What is the shortcode to change the encoding in VSCODE?
Alternatively, you can change the encoding with a single file for the below command
CTRL+SHIFT+P command and type encoding and select Reopen or save with encoding option

Set Encoding globally in Visual Studio Code

Go to Settings in Visual studio code

  • In Windows, you can select File -> Preferences -> Settings
    Alternatively, you can open using short keys( CTRL + ,) Command

  • In MAC:- Code -> Preferences -> Settings
    Alternatively, you can open using short keys( Command +,) Command

  • It opens a settings window and types encoding and changes the default encoding from a given list on the Files: Encoding option as seen below
    Visual Studio Code (VSCode) Globally Encoding set

This changes encoding globally in VSCode and newly created files will be saved with the new encoding.

Зачастую у программистов появляются проблемы с русским языком в консоли при загрузке в неё текстового файла — вместо кириллицы появляются какие-то непонятные символы или вопросительные знаки. Данная проблема очень легко решается — нужно просто сменить кодировку файла на UTF-8 или на Юникод (либо на какую-либо другую, с которой консоль заработает). Как это сделать, вы узнаете в нашей статье.Итак, если у вас в консоли вместо кириллицы написано что-то похожее на символы с нижнего изображения, либо просто непонятный набор неизвестных символов, то всё дело в неправильной кодировке файла.

Проблемы с кодировкой кириллицы в консоли. Смена кодировки - vscode.ru

Исправить данную проблему не составит труда.

Проблемы с кодировкой кириллицы в блокноте

У каждого на компьютере имеется блокнот — самый простой помощник в данной проблеме. Всё, что нам надо — это открыть «сломанный» файл в блокноте (главное, чтобы в нём русский язык отображался правильно, иначе придётся заново переписывать текст), затем нажать в блокноте вкладку «Файл», а затем «Сохранить как…». В низу появившегося окна можно будет найти надпись «Кодировка» с комбобоксом, в котором Вам надо выбрать UTF-8 либо Юникод (это почти одинаковые кодировки, но если одна из них не заработает, то выбирайте вторую).

Проблемы с кодировкой кириллицы в консоли. Смена кодировки - vscode.ru

После сохранения файла попробуйте запустить консоль ещё раз, всё должно заработать.

Проблемы с кодировкой кириллицы в WordPad

Текстовым редактором WordPad также можно починить файл. Делается это идентично способу с блокнотом. Опять надо файл «Сохранить как…», однако выбор кодировки здесь не задан отдельно, как в блокноте, а вынесен в «Тип файла».

Нам нужно выбрать тип «Текстовый документ в Юникоде» и таким образом сохранить файл.

Проблемы с кодировкой кириллицы в консоли. Смена кодировки - vscode.ru

Проблемы с кодировкой кириллицы в Visual Studio

Вариант 1. Изменение кодировки файла.

Если ваш файл открыт у вас в Visual Studio, то для смены кодировки нужно выполнить следующие действия: В рабочей среде кликнуть на вкладке файла:

Проблемы с кодировкой кириллицы в консоли. Смена кодировки - vscode.ru

Затем перейди в меню «Файл» -> «Дополнительные параметры сохранения..».

Проблемы с кодировкой кириллицы в консоли. Смена кодировки - vscode.ru

В появившемся окне смотрим огромный список с названием «Кодировка» и выбираем там Юникод:

Проблемы с кодировкой кириллицы в консоли. Смена кодировки - vscode.ruПосле нажимаем «ОК», и всё готово!

Вариант 2. Изменение кодировки программно.

Кроме того, в Visual Studio можно легко поменять кодировку файла в самом коде. Делается это, на примере работы с классом StreamReader, вот так:

StreamReader sr = new StreamReader(«E:\textfile.txt», System.Text.Encoding.Default);

Как вы видите, после стандартной процедуры указания пути файла можно придать объекту ещё один аргумент — значение кодировки. В аргументе System.Text.Encoding.Default можно также выбрать несколько видов кодировок и посмотреть, при какой кодировке файл выдаст нормальный русский текст. Вместо значения Default можно подставить UTF8, ASCII, Unicode и ещё несколько других значений, но желательно не отклоняться от значения, приведенного в примере выше.

Спасибо за внимание! Надеемся, наша статья помогла Вам. Будем рады комментариям и вопросам.

Программирование на C, C# и Java

Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы

ОСТОРОЖНО МОШЕННИКИ! В последнее время в социальных сетях участились случаи предложения помощи в написании программ от лиц, прикрывающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в посторонних группах ВК. Для связи с нами используйте исключительно эти контакты: vscoderu@yandex.ru, https://vk.com/vscode

Проблемы с кодировкой кириллицы в консоли. Смена кодировки

Зачастую у программистов появляются проблемы с русским языком в консоли при загрузке в неё текстового файла — вместо кириллицы появляются какие-то непонятные символы или вопросительные знаки. Данная проблема очень легко решается — нужно просто сменить кодировку файла на UTF-8 или на Юникод (либо на какую-либо другую, с которой консоль заработает). Как это сделать, вы узнаете в нашей статье. Итак, если у вас в консоли вместо кириллицы написано что-то похожее на символы с нижнего изображения, либо просто непонятный набор неизвестных символов, то всё дело в неправильной кодировке файла.

Проблемы с кодировкой кириллицы в консоли. Смена кодировки - vscode.ru

Исправить данную проблему не составит труда.

Проблемы с кодировкой кириллицы в блокноте

У каждого на компьютере имеется блокнот — самый простой помощник в данной проблеме. Всё, что нам надо — это открыть «сломанный» файл в блокноте (главное, чтобы в нём русский язык отображался правильно, иначе придётся заново переписывать текст), затем нажать в блокноте вкладку «Файл», а затем «Сохранить как…». В низу появившегося окна можно будет найти надпись «Кодировка» с комбобоксом, в котором Вам надо выбрать UTF-8 либо Юникод (это почти одинаковые кодировки, но если одна из них не заработает, то выбирайте вторую).

Проблемы с кодировкой кириллицы в консоли. Смена кодировки - vscode.ru

После сохранения файла попробуйте запустить консоль ещё раз, всё должно заработать.

Проблемы с кодировкой кириллицы в WordPad

Текстовым редактором WordPad также можно починить файл. Делается это идентично способу с блокнотом. Опять надо файл «Сохранить как…», однако выбор кодировки здесь не задан отдельно, как в блокноте, а вынесен в «Тип файла».

Нам нужно выбрать тип «Текстовый документ в Юникоде» и таким образом сохранить файл.

Проблемы с кодировкой кириллицы в консоли. Смена кодировки - vscode.ru

Проблемы с кодировкой кириллицы в Visual Studio

Вариант 1. Изменение кодировки файла.

Если ваш файл открыт у вас в Visual Studio, то для смены кодировки нужно выполнить следующие действия: В рабочей среде кликнуть на вкладке файла:

Проблемы с кодировкой кириллицы в консоли. Смена кодировки - vscode.ru

Затем перейди в меню «Файл» -> «Дополнительные параметры сохранения..».

Проблемы с кодировкой кириллицы в консоли. Смена кодировки - vscode.ru

В появившемся окне смотрим огромный список с названием «Кодировка» и выбираем там Юникод:

Проблемы с кодировкой кириллицы в консоли. Смена кодировки - vscode.ru

После нажимаем «ОК», и всё готово!

Вариант 2. Изменение кодировки программно.

Кроме того, в Visual Studio можно легко поменять кодировку файла в самом коде. Делается это, на примере работы с классом StreamReader, вот так:

Изменить кодировку файла в Visual Studio Code

Есть ли способ изменить кодировку файла? Например, от UTF-8 до ISO 8859-1?

Установка примера возвышенного текста:

3 ответа

Итак, вот как это сделать:

В нижней панели VSCode вы увидите метку UTF-8 . Щелкните по нему. А всплывающее окно открывается. Нажмите Save with encoding . Теперь вы можете выбрать новый кодировка для этого файла.

Кроме того, вы можете изменить настройку глобально в Рабочей области / Пользовательских настройках, используя настройку «files.encoding»: «utf8» . Если вы используете страницу графических настроек в VSCode, просто ищите encoding . Однако обратите внимание, что это относится только к вновь созданным файлам.

Существующие ответы показывают возможное решение для отдельных файлов или типов файлов. Однако вы можете определить стандарт кодировки в VS Code, следуя этому пути:

Файл> Настройки> Настройки> Кодировка> Выберите свой вариант

Это определит набор символов по умолчанию. Кроме того, вы всегда можете изменить кодировку в правом нижнем углу редактора (синяя линия символов) для текущего проекта.

Помимо настроек, описанных в ответе @DarkNeuron:

Вы также можете указать настройки для определенного языка, например:

Например, я использую это, когда мне нужно отредактировать файлы PowerShell, ранее созданные с помощью ISE (которые созданы в формате ANSI):

Основные сведения о кодировке файлов в VS Code и PowerShell

При использовании VS Code для создания и редактирования сценариев PowerShell очень важно, чтобы ваши файлы сохранялись в правильной кодировке символов.

Что такое кодировка и почему она важна?

VS Code управляет интерфейсом ввода строки символов в буфер пользователем и чтения-записи блоков байтов в файловой системе. При сохранении файла в VS Code используется кодирование текста для определения того, какие байты получит каждый символ. Подробные сведения см. в статье О шифровании символов.

Аналогичным образом, когда оболочка PowerShell запускает скрипт, ей необходимо преобразовать байты из файла в символы для преобразования файла в программу PowerShell. Так как VS Code записывает файл, а PowerShell считывает файл, этим средствам необходимо использовать одну и ту же систему кодировки. Этот процесс синтаксического анализа скрипта PowerShell идет так: байты -> символы -> лексемы -> дерево абстрактного синтаксиса -> выполнение.

И VS Code, и PowerShell устанавливаются с подходящей конфигурацией кодировки по умолчанию. Тем не менее кодировка по умолчанию, используемая PowerShell, была изменена с выпуском PowerShell 6. Чтобы избежать проблем с PowerShell и расширениями PowerShell в VS Code, необходимо настроить параметры VS Code и PowerShell должным образом.

Распространенные причины проблемы с кодировкой

Проблемы с кодировкой возникают, если кодировка VS Code в целом или вашего файла скрипта не совпадает с кодировкой, ожидаемой в PowerShell. В PowerShell нет способа автоматически определить кодировку файла.

Проблемы с кодировкой более вероятны при использовании символов не из 7-разрядной кодировки ASCII. Пример:

  • Расширенные небуквенные символы, такие как длинное тире ( — ), неразрывный пробел ( ) или левая двойная кавычка ( » ).
  • Латинские символы с диакритикой ( É , ü )
  • Нелатинские символы, такие как кириллица ( Д , Ц )
  • Символы иероглифического письма ( 本 , 화 , が ).

Распространенные причины проблем с кодировкой:

  • Параметры кодировок по умолчанию VS Code и PowerShell не были изменены. В версиях до PowerShell 5.1 (включительно) кодировка по умолчанию отличается от используемой в VS Code.
  • Открыт другой редактор, и файл перезаписан в новой кодировке. Это часто происходит с интегрированной средой сценариев.
  • Файл возвращается в систему управления версиями в кодировке, отличающейся от той, которая ожидается в VS Code или PowerShell. Это может произойти, когда участники совместной работы используют редакторы с различными конфигурациями кодировок.

Как определить наличие проблемы с кодировкой

Часто ошибки кодирования в скриптах представляются как ошибки синтаксического анализа. Если вы видите странные последовательности символов в скрипте, это может быть проблемой. В примере ниже тире ( – ) отображается в виде символов ※ :

Эта проблема возникает, так как VS Code кодирует символ – в UTF-8 как байты 0xE2 0x80 0x93 . Если эти байты декодируются в кодировке Windows-1252, они интерпретируются как символы ※ .

Некоторые странные последовательности символов, которые можно видеть:

  • ※ вместо – .
  • ※ вместо — .
  • Ä2 вместо Ä .
  • Â вместо (неразрывный пробел);
  • é вместо é .

Этот удобный справочник перечисляет распространенные шаблоны, которые указывают на проблему между кодировками UTF-8 и Windows-1252.

Взаимодействие расширения PowerShell для VS Code с кодировками

Расширение PowerShell взаимодействует со скриптами несколькими способами:

  1. При изменении скриптов в VS Code содержимое отправляется из VS Code в расширение. Протокол языкового сервера требует, чтобы это содержимое передавалось в UTF-8. Таким образом, расширение не сможет получить неправильную кодировку.
  2. При выполнении скриптов в интегрированной консоли они считываются оболочкой PowerShell непосредственно из файла. Если кодировка PowerShell отличается от кодировки VS Code, может произойти сбой.
  3. Когда скрипт, который открыт в VS Code, ссылается на другой скрипт, который не был открыт в VS Code, расширение загружает содержимое второго скрипта из файловой системы. Расширение PowerShell по умолчанию использует кодировку UTF-8, но при этом применяет обнаружение метки порядка байтов (BOM), чтобы выбрать правильную кодировку.

Проблема возникает при предположении кодировки, не использующей BOM (такой как UTF-8 без метки порядка байтов или Windows-1252). Расширение PowerShell по умолчанию использует UTF-8. Расширение не может изменить параметры кодировки в VS Code. Дополнительные сведения см. в разделе Проблема № 824.

Выбор подходящей кодировки

Различные системы и приложения могут использовать различные кодировки:

  • В .NET Standard, в Интернете и в среде Linux теперь в основном используется кодировка UTF-8.
  • Во многих приложениях .NET Framework используется UTF-16. По историческим причинам ее иногда называют «Юникод»; сейчас этот термин относится к более широкому стандарту, охватывающему UTF-8 и UTF-16.
  • В Windows многие приложения, которые были созданы еще до распространения Юникода, по-прежнему могут по умолчанию использовать Windows-1252.

Кодировки Юникода также используют понятие метки порядка следования байтов (BOM). BOM ставится в начале текста, чтобы декодер мог определить, какая кодировка используется в тексте. Для многобайтовых кодировок BOM также указывает порядок следования байтов кодировки. BOM представляются байтами, которые редко встречаются в тексте в Юникоде. Это позволяет сделать обоснованное предположение, что текст записан в Юникоде, если присутствует метка BOM.

BOM не являются обязательными; в мире Linux они не так популярны, поскольку во всех прочих местах используется надежное соглашение UTF-8. Большинство приложений Linux предполагают, что текстовый ввод кодируется в UTF-8. Хотя многие приложения Linux могут распознавать и правильно обрабатывать BOM, некоторые этого не делают, что приводит к появлению артефактов в тексте, открываемом с помощью этих приложений.

Таким образом:

  • Если вы работаете в основном с приложениями Windows и Windows PowerShell, следует предпочтительно использовать такие кодировки, как UTF-8 с BOM или UTF-16.
  • Если вы работаете на разных платформах, следует отдавать предпочтение UTF-8 с BOM.
  • Если вы работаете главным образом в контексте Linux, следует отдавать предпочтение UTF-8 без BOM.
  • Windows-1252 и latin-1 — устаревшие кодировки, которых по возможности следует избегать. Тем не менее некоторые приложения предыдущих версий в Windows зависят от их.
  • Также стоит отметить, что подписывание скриптов зависит от кодировки, то есть изменение кодировки в подписанном скрипте потребует повторного подписывания.

Настройка VS Code

Кодировка VS Code по умолчанию — UTF-8 без метки порядка байтов.

Чтобы задать Кодировка в VS Code, перейдите к параметрам VS Code ( CTRL + , ) и задайте параметр «files.encoding» :

Возможны следующие значения:

  • utf8 : [UTF-8] без метки порядка байтов
  • utf8bom : [UTF-8] с меткой порядка байтов
  • utf16le : [UTF-16] с прямым порядком байтов
  • utf16be : [UTF-16] с обратным порядком байтов
  • windows1252 : [Windows-1252]

Должен отобразиться раскрывающийся список представления графического пользовательского интерфейса или дополнение в представлении JSON.

Чтобы обеспечить автоматическое определение кодировки, если это возможно, можно также добавить следующее:

Если вы не хотите, чтобы эти параметры влияли на все типы файлов, в VS Code можно задавать конфигурации для каждого языка отдельно. Создать параметр для конкретного языка можно, поместив параметры в поле [<language-name>] . Пример:

Вы также можете установить средство отслеживания Gremlins для Visual Studio Code. Это расширение раскрывает определенные символы Юникода, которые могут быть легко повреждены из-за своей невидимости или схожести с другими обычными символами.

Настройка PowerShell

В PowerShell кодировка по умолчанию зависит от версии:

  • В PowerShell 6+ кодировка по умолчанию на всех платформах — UTF-8 без метки порядка байтов.
  • В Windows PowerShell кодировка по умолчанию — обычно Windows-1252, расширение latin-1, которое также называется ISO 8859-1.

В PowerShell 5 + можно определить кодировку по умолчанию так:

Следующий скрипт может использоваться для определения кодировки, которую ваш сеанс PowerShell выводит для скрипта, где нет метки порядка байтов.

Можно настроить PowerShell так, чтобы использовать заданную кодировку в более общем виде с помощью параметров профиля. См. следующие статьи:

  • [Ответ @mklement0 о кодировке PowerShell на сайте StackOverflow](https://stackoverflow.com/a/40098904).
  • [Запись блога @rkeithhill об обработке входных данных в UTF-8 без метки порядка байтов в PowerShell](https://rkeithhill.wordpress.com/2010/05/26/handling-native-exe-output-encoding-in-utf8-with-no-bom/).

Заставить PowerShell использовать конкретную кодировку для входных данных невозможно. В PowerShell 5.1 и более ранних версий в Windows с языковым стандартом en-US по умолчанию используется кодировка Windows-1252, если отсутствует метка порядка байтов. Другие параметры языкового стандарта могут использовать другую кодировку. Для обеспечения совместимости лучше сохранять скрипты в Юникоде с меткой порядка байтов.

Любые другие имеющиеся у вас инструменты для работы со скриптами PowerShell могут зависеть от выбранных параметров кодировки или преобразовывать скрипты в другую кодировку.

Существующие скрипты

Скрипты, которые уже находятся в файловой системе, могут нуждаться в повторном кодировании в указанную вами кодировку. В нижней строке VS Code вы увидите метку UTF-8. Щелкните ее, чтобы открыть панель действий, и выберите команду Сохранить с кодировкой. Теперь вы можете выбрать новую кодировку для этого файла. Подробные инструкции см. в разделе Кодировка в VS Code.

Если вам нужно повторно кодировать несколько файлов, можно использовать следующий скрипт:

Интегрированная среда сценариев (ISE) PowerShell

При редактировании скриптов с помощью интегрированной среды сценариев PowerShell необходимо синхронизировать здесь параметры кодировки.

Интегрированная среда сценариев должна учитывать метку порядка байтов, но можно также использовать отражение для задания кодировки. Обратите внимание, что это значение не сохраняется между запусками.

Система управления версиями

Некоторые системы управления версиями, например git, игнорируют кодировки; git отслеживает только байты. Поведение других, например Azure DevOps или Mercurial, может отличаться. Даже некоторые средства, основанные на git, полагаются на декодирование текста.

Если это так, убедитесь, что вы:

  • Настроили кодировку в системе управления версиями в соответствии с вашей конфигурацией VS Code.
  • Сделали так, что все файлы добавляются в систему управления версиями в соответствующей кодировке.
  • Остерегайтесь изменять кодировки, полученные через систему управления версиями. Ключевым признаком здесь будет разностный файл, который указывает, что изменения отсутствуют (так как изменены байты, но не символы).

Среды других участников

Настроив систему управления версиями, убедитесь также, что параметры других участников, работающих над теми файлами, к которым вы предоставляете общий доступ, не переопределяют кодировку путем повторного кодирования файлов PowerShell.

Другие программы

Все другие программы, которые считывают или записывают скрипты PowerShell, могут перекодировать их.

  • Использование буфера обмена для копирования и вставки скрипта. Такое часто встречается в следующих случаях:
    • Копирование скрипта в виртуальную машину.
    • Копирование скрипта из электронной почты или с веб-страницы.
    • Копирование скрипта через документ Microsoft Word или PowerPoint.
    • Блокнот;
    • vim;
    • любой другой редактор скриптов PowerShell.
    • Get-Content / Set-Content / Out-File
    • Операторы перенаправления PowerShell, такие как > и >> .
    • sed / awk
    • Веб-браузер при скачивании скриптов.
    • Общий файловый ресурс.

    Некоторые из этих средств работают с байтами, а не с текстом, но другие позволяют настраивать кодировки. В случаях, когда необходимо настроить кодировку, используйте те же параметры, что и в вашем редакторе, чтобы предотвратить возникновение проблем.

    Другие ресурсы о кодировках в PowerShell

    Существует несколько других достойных публикаций на тему кодировок и настройки кодирования в PowerShell:

Понравилась статья? Поделить с друзьями:
  • Viessmann котел газовый двухконтурный ошибка f05
  • Visual novel syntax error
  • Viessmann код ошибки f04
  • Visual foxpro cannot start could not load resources как исправить
  • Viessmann vitopend 100w ошибка f05