Русский язык, 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