LINUX.ORG.RU

История изменений

Исправление fsb4000, (текущая версия) :

Для GCC можно указать, в какой кодировке написан исходник и какую кодировку использовать для бинарника,: -finput-charset=CP1251 -fexec-charset=CP866

Для Visual C++ тоже (https://docs.microsoft.com/en-us/cpp/build/reference/execution-charset-set-execution-character-set?view=msvc-170):

/source-charset:utf-8 /execution-charset:utf-8

или

/source-charset:utf-8 /execution-charset:.866

Пример:

$ cl /source-charset:utf-8 /execution-charset:.866 /EHsc /nologo main.cpp 

$ main.exe
Привет

$ chcp
Текущая кодовая страница: 866

$ type main.cpp
#include <iostream>

using namespace std;

int main() {
    cout << "╨Я╤А╨╕╨▓╨╡╤В\n"; // "Привет" в UTF-8
}

Исходная версия fsb4000, :

Для GCC можно указать, в какой кодировке написан исходник и какую кодировку использовать для бинарника,: -finput-charset=CP1251 -fexec-charset=CP866

Для Visual C++ тоже (https://docs.microsoft.com/en-us/cpp/build/reference/execution-charset-set-execution-character-set?view=msvc-170):

/source-charset:utf-8 /execution-charset:utf-8

или

/source-charset:utf-8 /execution-charset:.866

Пример:

$ cl /source-charset:utf-8 /execution-charset:.866 /EHsc /nologo 

$ main.exe
Привет

$ chcp
Текущая кодовая страница: 866

$ type main.cpp
#include <iostream>

using namespace std;

int main() {
    cout << "╨Я╤А╨╕╨▓╨╡╤В\n"; // "Привет" в UTF-8
}