Visual studio кодировка ошибок

Visual Studio является одной из самых популярных интегрированных сред разработки. Однако, при работе с ней пользователи могут столкнуться с проблемой отображения символов вместо русских букв в коде. Как решить данную проблему, мы и расскажем в данной статье.

Причины проблемы

Символы вместо русских букв могут появиться по разным причинам. Самой распространенной из них является неправильная настройка кодировки в Visual Studio. Если выбрать неправильную кодировку (например, ANSI вместо UTF-8), то при открытии русскоязычного файла будут отображаться различные символы вместо кириллицы.

Еще одной причиной может являться неподдерживаемость выбранной кодировки в операционной системе. Например, если вы выбираете кодировку Windows-1251 на компьютере с операционной системой, которая поддерживает только UTF-8, то вы также можете получить символы вместо русских букв.

Решение проблемы

Для того чтобы решить проблему символов вместо русских букв в Visual Studio, необходимо выполнить несколько простых действий.

1. Выбор правильной кодировки

Выберите правильную кодировку для файла. Если вы не уверены, какую кодировку следует выбрать, рекомендуется использовать UTF-8. Для этого можно перейти в меню File → Advanced Save Options и выбрать UTF-8.

2. Изменение настроек Visual Studio

Измените настройки Visual Studio, чтобы отображать правильную кодировку. Для этого необходимо перейти в Options → Environment → Documents и выбрать нужную кодировку для Default Encoding.

3. Изменение языковых настроек операционной системы

Убедитесь, что используемая вами операционная система поддерживает выбранную в Visual Studio кодировку. Если нет, то следует добавить эту кодировку в настройки операционной системы.

4. Использование плагина для конвертации кодировки

Если вы столкнулись с проблемой кодировки в Visual Studio, можно использовать плагин для конвертации кодировки. Например, плагин «Convert Encoding» для Visual Studio 2019 позволяет изменять кодировку файла без необходимости его закрытия.

Вывод

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

0 / 0 / 0

Регистрация: 04.11.2015

Сообщений: 44

1

11.05.2017, 02:57. Показов 5374. Ответов 5


Студворк — интернет-сервис помощи студентам

Раньше все было нормально именно в этой версии Студии, но не понятно после чего стало выдавать некоторые ошибки нормально, а некоторые вот такими крякозябрами как на скрине. Что делать не пойму, гугл молчит. Побовал сохранять каждый файл в юникоде, но всеравно такой вывод :с

Миниатюры

Крякозябры в выводе ошибок компилятора Visual Studio 15
 



0



142 / 143 / 64

Регистрация: 11.11.2010

Сообщений: 864

Записей в блоге: 10

11.05.2017, 04:33

2



0



0 / 0 / 0

Регистрация: 04.11.2015

Сообщений: 44

11.05.2017, 13:20

 [ТС]

4

Ответ был найден мной после длительных поисков. Если кому будет интересно к проекту надо было подключить kernel32.lib;user32.lib;advapi32.lib; и поставить в графе «игнорировать все стандартные библиотеки» — «нет». Тему можно закрывать, спасибо.



0



284 / 232 / 114

Регистрация: 07.09.2016

Сообщений: 584

11.05.2017, 13:24

5

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



1



0 / 0 / 0

Регистрация: 20.06.2018

Сообщений: 1

21.11.2018, 12:18

6

У меня решилась проблема так:
Средства -> Параметры -> Окружение -> Выбор языка -> Язык
Сменил с «Русский» на «такой же, как в Microsoft Windows»



0



Зачастую у программистов появляются проблемы с русским языком в консоли при загрузке в неё текстового файла — вместо кириллицы появляются какие-то непонятные символы или вопросительные знаки. Данная проблема очень легко решается — нужно просто сменить кодировку файла на 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 и ещё несколько других значений, но желательно не отклоняться от значения, приведенного в примере выше.

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

  • Remove From My Forums
  • Question

  • I’m programming a cordova project with Visual Studio 2017(15.2) on Windows 10 64bit. However, the message displayed in the «Output» window of Visual
    Studio gets garbled, so its contents are difficult to understand.

     

    From the features of the symbols in the screenshot, Cordova development tool outputs messages as UTF-8, but Visual Studio seems to output as Shift-JIS(Default multibyte charactor encoding on Windows 10 Japanese).

    Please tell me how to unify those text encoding.

I am searching for a way to setup Visual Studio so it always saves my files in UTF-8.

I have only found options to set this project wide. Is there a way to set it Visual Studio wide?

Edward Brey's user avatar

Edward Brey

40.3k20 gold badges199 silver badges253 bronze badges

asked Mar 30, 2009 at 9:55

Thomaschaaf's user avatar

ThomaschaafThomaschaaf

17.9k32 gold badges96 silver badges128 bronze badges

1

Do you want the files to save as UTF-8 because you are using special characters that would be lost in ASCII encoding? If that’s the case, then there is a VS2008 global setting in Tools > Options > Environment > Documents, named Save documents as Unicode when data cannot be saved in codepage. When this is enabled, VS2008 will save as Unicode if certain characters cannot be represented in the otherwise-default codepage.

Also, which files are not being saved as UTF-8? All of my .cs, .csproj, .sln, .config, .as*x, etc, all save as UTF-8 (with signature, the byte order marks), by default.

answered Dec 9, 2009 at 17:49

Samuel Meacham's user avatar

Samuel MeachamSamuel Meacham

10.2k7 gold badges44 silver badges50 bronze badges

8

What

It is possible with EditorConfig.

EditorConfig helps developers define and maintain consistent coding
styles between different editors and IDEs.

This also includes file encoding.

EditorConfig is built-in Visual Studio 2017 by default, and I there were plugins available for versions as old as VS2012. Read more from EditorConfig Visual Studio Plugin page.

How

You can set up a EditorConfig configuration file high enough in your folder structure to span all your intended repos (up to your drive root should your files be really scattered everywhere) and configure the setting charset:

charset: set to latin1, utf-8, utf-8-bom, utf-16be or utf-16le to
control the character set.

You can add filters and exceptions etc on every folder level or by file name/type should you wish for finer control.

Once configured then compatible IDEs should automatically do it’s thing to make matching files comform to set rules. Note that Visual Studio does not automatically convert all your files but do its bit when you work with files in IDE (open and save).

What next

While you could have a Visual-studio-wide setup, I strongly suggest to still include an EditorConfig root to your solution version control, so that explicit settings are automatically synced to all team members as well. Your drive root editorconfig file can be the fallback should some project not have their own editorconfig files set up yet.

answered Jul 25, 2018 at 8:37

Imre Pühvel's user avatar

I work with Windows7.

Control Panel — Region and Language — Administrative — Language for non-Unicode programs.

After I set «Change system locale» to English(United States). My default encoding of vs2010 change to Windows-1252. It was gb2312 before.

I created a new .cpp file for a C++ project, after checking in the new file to TFS the encoding show Windows-1252 from the properties page of the file.

Suraj Kumar's user avatar

Suraj Kumar

5,5478 gold badges20 silver badges42 bronze badges

answered Jan 24, 2019 at 6:46

user10959888's user avatar

1

It is an old topic, but I’ll put here what helped me:
Change Visual Studio default encoding

Visual Studio default encoding format is UTF-8, but it has built-in encoding formats for various languages, which can be selected according to your needs. Generally, UTF-8 can be kept, because programs are usually written in English, so compatibility is better. It runs in most language systems and does not cause exceptions because they can be identified.

You set the default encoding format in the «Advanced Save Options» dialog box in Visual Studio, it can be opened through the «File» menu; but sometimes, it does not show «Advanced Save Options» in the «File» menu and is displayed.

  1. Click «Tools«, select «Customize» in the pop-up menu to open the «Customize» dialog box; select the «Commands» tab, click the drop-down list box to the right of the «Menu bar», and select «File» from the pop-up options; Click «Add Command«, in the dialog box that opens, select «File» in the left list box, select «Advanced Save Options» in the right list box; click «OK», it is added to the» File «menu.

  2. Click «File«, select «Advanced Save Options» in the pop-up menu.
    Open the «Advanced Save Options» dialog box, and the currently set encoding is «US-ASCII — Codepage 20127».

  3. Click the «Encoding» drop-down list box, drag the scroll bar to the top, and select «Unicode (UTF-8 with signature) — Codepage 65001«.

  4. Click the «OK», then Visual Studio sets the default encoding format to UTF-8.

answered Feb 7 at 14:39

TsvetiZlateva's user avatar

4

The Problem is Windows/Microsoft applications put byte order marks at the beginning of all your files when saving as non-ASCII types (UTF-8, etc.). Other applications often break when they read these odd Microsoft UTF-8 byte order encoding marks at the top of files.

A perfect example of this problem was triggering quirsksmode in old IE web browsers when encoding in UTF-8 as browsers often displayed XHTML web pages based on what encoding falls at the start of the page. It makes a mess when other applications view those UTF-8 Visual Studio pages.

I usually do not recommend Visual Studio Extensions, but I do this one to fix that issue:

Fix File Encoding: https://vlasovstudio.com/fix-file-encoding/

The FixFileEncoding above install REMOVES the byte order mark and forces VS to save ALL FILES without a Byte Order Mark signature in UTF-8 at the top of all .NET pages. After installing go to Tools > Option then choose «FixFileEncoding». It should allow you to set all saves as UTF-8 . Add «cshtml to the list of files to always save in UTF-8 without the byte order mark as so: «.(htm|html|cshtml)$)».

Now open one of your files in Visual Studio. To verify its saving as UTF-8 go to File > Save As, then under the Save button choose «Save With Encoding». It should choose «UNICODE (Save without Signature)» by default from the list of encodings. Now when you save that page it should always save as UTF-8 without byte order mark at the beginning of the file when saving in Visual Studio.

answered Dec 21, 2020 at 22:58

Stokely's user avatar

StokelyStokely

12.5k2 gold badges35 silver badges24 bronze badges

I don’t know of a global setting nither but you can try this:

  1. Save all Visual Studio templates in UTF-8
  2. Write a Visual Studio Macro/Addin that will listen to the DocumentSaved event and will save the file in UTF-8 format (if not already).
  3. Put a proxy on your source control that will make sure that new files are always UTF-8.

answered Mar 30, 2009 at 10:53

Shay Erlichmen's user avatar

Shay ErlichmenShay Erlichmen

31.7k7 gold badges68 silver badges87 bronze badges

2

On Windows 10/11: Settings -> Time & Language -> Language & region -> Administrative language settings -> Administrative (tab) -> Change system locale… -> Beta: Use Unicode UTF-8 for worldwide language support (checkbox on). Video tutorial

OS will save all text files in UTF-8.

Also you won’t have to set locale for your C++ console applications (std::setlocale(LC_ALL, "de_DE") or std::setlocale(LC_ALL, "Russian")) ever.

answered Sep 13 at 5:34

Tetrospectiva's user avatar

Понравилась статья? Поделить с друзьями:
  • Visual studio список ошибок пропал
  • Visual studio как посмотреть ошибки
  • Visual studio произошла неизвестная ошибка приносим свои извинения
  • Virtual audio cable driver not loaded ошибка
  • Visual studio как отключить ошибки