C:\Users\User\Downloads>cl /source-charset:utf-8 /execution-charset:utf-8 /EHsc tst.cpp && tst.exe >tstUtf-8.txt
Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29336 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
tst.cpp
Microsoft (R) Incremental Linker Version 14.28.29336.0
Copyright (C) Microsoft Corporation. All rights reserved.
/out:tst.exe
tst.obj
C:\Users\User\Downloads>cl /source-charset:utf-8 /execution-charset:Windows-1250 /EHsc tst.cpp && tst.exe >tst1250.txt
Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29336 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
tst.cpp
Microsoft (R) Incremental Linker Version 14.28.29336.0
Copyright (C) Microsoft Corporation. All rights reserved.
/out:tst.exe
tst.obj
CzescEncoding.zip
Jak widać pliki wynikowe mają kodowanie tak jak ustawiłem w kompilatorze kodowanie dla pliku wykonalnego.
Teraz używam Windows w angielskiej więc moja storna kodowa to 437, ale działa po wybraniu właściwej strony kodowej, ty możesz skompilować aplikację od razu do docelowej strony kodowej (Windows-1250):
C:\Users\User\Downloads>cl /source-charset:utf-8 /execution-charset:Windows-1250 /EHsc tst.cpp && chcp 1250 && tst.exe
Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29336 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
tst.cpp
Microsoft (R) Incremental Linker Version 14.28.29336.0
Copyright (C) Microsoft Corporation. All rights reserved.
/out:tst.exe
tst.obj
Active code page: 1250
Cześć!
C:\Users\User\Downloads>cl /source-charset:utf-8 /execution-charset:utf-8 /EHsc tst.cpp && chcp 65001 && tst.exe
Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29336 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
tst.cpp
Microsoft (R) Incremental Linker Version 14.28.29336.0
Copyright (C) Microsoft Corporation. All rights reserved.
/out:tst.exe
tst.obj
Active code page: 65001
Cześć!
Jak strona kodowa cmd
nie pasuje do kodowania, jakiego używa aplikacja, to wychodzą krzaki:
C:\Users\User\Downloads>chcp 1250
Active code page: 1250
C:\Users\User\Downloads>tst.exe
Cześć!
C:\Users\User\Downloads>chcp 65001
Active code page: 65001
C:\Users\User\Downloads>tst.exe
Cześć!