I wrote this program, that prints all the characters on English keyboard and Russian keyboard:
#include <iostream>
#include <list>
int main() {
setlocale(LC_ALL, "Russian");
std::list<std::wstring> english{
L"`", L"1", L"2", L"3", L"4", L"5", L"6", L"7", L"8", L"9", L"0",
L"-", L"=", L"q", L"w", L"e", L"r", L"t", L"y", L"u", L"i", L"o",
L"p", L"[", L"]", L"a", L"s", L"d", L"f", L"g", L"h", L"j", L"k",
L"l", L";", L"\\", L"'", L"\\", L"<", L"z", L"x", L"c", L"v", L"b",
L"n", L"m", L",", L".", L"/", L"~", L"!", L"@", L"#", L"$", L"%",
L"^", L"&", L"*", L"(", L")", L"_", L"+", L"Q", L"W", L"E", L"R",
L"T", L"Y", L"U", L"I", L"O", L"P", L"{", L"}", L"A", L"S", L"D",
L"F", L"G", L"H", L"J", L"K", L"L", L":", L"\\", L"|", L">", L"Z",
L"X", L"C", L"V", L"B", L"N", L"M", L"<", L">", L"?"
};
std::list<std::wstring> russian{
L"ё", L"1", L"2", L"3", L"4", L"5", L"6", L"7", L"8", L"9", L"0",
L"-", L"=", L"й", L"ц", L"у", L"к", L"е", L"н", L"г", L"ш", L"щ",
L"з", L"х", L"ъ", L"ф", L"ы", L"в", L"а", L"п", L"р", L"о", L"л",
L"д", L"ж", L"э", L"\\", L"/", L"я", L"ч", L"с", L"м", L"и", L"т",
L"ь", L"б", L"ю", L".", L"Ё", L"!", L"'", L"№", L";", L"%", L":",
L"?", L"*", L"(", L")", L"_", L"+", L"Й", L"Ц", L"У", L"К", L"Е",
L"Н", L"Г", L"Ш", L"Щ", L"З", L"Х", L"Ъ", L"Ф", L"Ы", L"В", L"А",
L"П", L"Р", L"О", L"Л", L"Д", L"Ж", L"Э", L"/", L"|", L"Я", L"Ч",
L"С", L"М", L"И", L"Т", L"Ь", L"Б", L"Ю", L","
};
// Print the contents of the english list
std::wcout << L"English characters: ";
for (const std::wstring& letter : english) {
std::wcout << letter << L" ";
}
std::wcout << std::endl;
// Print the contents of the russian list
std::wcout << L"Russian characters: ";
for (const std::wstring& letter : russian) {
std::wcout << letter << L" ";
}
std::wcout << std::endl;
return 0;
}
But it doesn`t print russian characters and the output is like:
English characters: ` 1 2 3 4 5 6 7 8 9 0 - = q w e r t y u i o p [ ] a s d f g h j k l ; \ ' \ < z x c v b n m , . / ~ ! @ # $ % ^ & * ( ) _ + Q W E R T Y U I O P { } A S D F G H J K L : \ | > Z X C V B N M < > ?
Russian characters: � 1 2 3 4 5 6 7 8 9 0 - = � � � � � � � � � � � � � � � � � � � � � � � \ / � � � � � � � � � . � ! ' No ; % : ? * ( ) _ + � � � � � � � � � � � � � � � � � � � � � � � / | � � � � � � � � � ,
(UTF-8)
And this:
English characters: ` 1 2 3 4 5 6 7 8 9 0 - = q w e r t y u i o p [ ] a s d f g h j k l ; \ ' \ < z x c v b n m , . / ~ ! @ # $ % ^ & * ( ) _ + Q W E R T Y U I O P { } A S D F G H J K L : \ | > Z X C V B N M < > ?
Russian characters: £ 1 2 3 4 5 6 7 8 9 0 - = Ê Ã Õ Ë Å Î Ç Û Ý Ú È ß Æ Ù × Á Ð Ò Ï Ì Ä Ö Ü \ / Ñ Þ Ó Í É Ô Ø Â À . ³ ! ' No ; % : ? * ( ) _ + ê ã õ ë å î ç û ý ú è ÿ æ ù ÷ á ð ò ï ì ä ö ü / | ñ þ ó í é ô ø â à ,
(ISO-8859-1)
What should I do to display Cyrillic characters? I am on Ubuntu 23.10.