Русский язык, qstring и unicode

Русский язык, qstring и unicode


У меня возникла проблема с кодировкой символов в qt проектах на visual studio. Если вкратце: в проектах с qt у меня появляется ошибка в std::u32string temp = U"Русский язык"; но если я вместо Русский язык вставлю что-то на английском, ошибки пропадают. И если я создам консольный проект и вставлю туда эту строку, ошибок не будет, ошибки происходят непосредственно от компилятора. Я работаю в visual studio в связке с qt

Вот самый простой код, в котором происходят ошибки

#include <QtWidgets/QApplication>
#define CURL_STATICLIB
#include <clocale>
#include <curl/curl.h>
#include <iostream>

int main(int argc, char* argv[])
{
    std::u32string str = U"Хай";
    return 0;
}

и вот ошибки

Ошибка  C2001   newline в константе
Ошибка  C2143   синтаксическая ошибка: отсутствие ";" перед "return"



Решение

Чтобы исправить в Visual studio, нужно файл > сохранить как > возле кнопки сохранить есть стрелочка надо нажать на нее > сохранить с кодировкой > под надписью Кодировка найдите в списке Юникод (utf-8 c сигнатурой) > OK



Report Page