#include <stdio.h>
#include <iostream>
#include <locale>
int main()
{
const wchar_t *str = L"\u041F\u043E\u0440\u044F\u0434\u043E\u043A";
std::locale::global(std::locale(""));
std::wcout << str << std::endl;
}
Вот что выводит эклипса: РџРѕСЂСЏРґРѕРє
Вот терминал: pro@pro:$ ./a.out Порядок
Если без locale то выводит и в эклипсе и в терминале ???????.
В реальном приложении эта строка выводится вообще как 45=B8D8:0B>@
Вопрос: подскажите, это я тупой или гвозди? Где копать? Что им всем надо?
В общем, как правильно настроить - gcc, eclipse, терминал... исходники... чтобы русские буквы выводились везде?
И ещё, eclipse строку вышеуказанную показывает как
Details:0x400960 L"\320\237\320\276\321\200\321\217\320\264\320\276\320\272"
для переменной, и бороду в memory view - там только три кодировки (ISO-8859-1, US-ASCII, UTF-8). Как сделать чтобы эклипс понимал нужную кодировку (т.к. чтобы UTF-32 показывал)? Там в меню есть в Preferences выбор кодировки для строк ascii/ebcdic но она ни на что не влияет.
В терминале