--- title: "UTF-8 и MinGW" categories: ["cpp", "archive"] date: 2015-12-03T00:00:00+03:00 draft: false featured_image: miniature.jpg --- Наверное, любой сталкивался с проблемой русских букв в консоли. И каждый придумывал свои костыли. Вот и я свой придумал. Имеем мы все файлы в кодировке **UTF-8**. А для нормального вывода в консоль Windows нужны исходники в кодировке 1252. Конвертировать? Зачем? Ведь компилятор это умеет. Так что кормим компилятору вот такие параметры: ```cmd -finput-charset=utf-8 -fexec-charset=cp1252 ``` А вывод должен иметь следующий вид: ```c wprintf(L"Да это же русские буквы =О"); ``` Нужно не забывать добавлять **L** до строки, а также вызвать **setlocale**. Пример: ```c #include #include int main() { setlocale(LC_ALL, ""); wprintf(L"Да это же русские буквы =О\n\n"); wprintf(L"Нажмите [Enter] для продолжения..."); getchar(); return 0; } ``` ![result](m_2015-12-03_181957.png "Результат")