Привет всем. Есть программа для игры и шрифты для вывода текста в меню берутся из самой игры, шрифты эти поддерживают русский язык точно, я проверял.
Когда я делаю какой-то пункт меню например, у меня вместо русских букв "каракули", а англ отображаются нормально. В чем может быть проблема? Уже даже wchar пробовал такой код:
const wchar_t str[] = L"wcstombs привет";
char buffer[32];
int ret;
//printf("wchar_t string: %ls \n", str);
ret = wcstombs(buffer, str, sizeof(buffer));
if (ret == 32) buffer[31] = '\0';
//if (ret) printf("multibyte string: %s \n", buffer);
И все равно wcstombs отображается, а "привет" нет. Писать названия пунктов меню нужно именно в char*. Помогите, пожалуйста!
попробуй в начале ф-ции main написать - setlocale(LC_ALL, "Russian");
Если писать названия пунктов меню нужно именно в char*, и при этом поддерживаются русские шрифты, у вас банально не совпадают кодировки. С большой вероятностью нужно передавать строки в utf8, для этого можно использовать префикс u в c++11: u"привет"
. Если не поможет, я бы рекомендовал скинуть строку с русским текстом в отдельный файл, затем читать её из файла и передавать дальше. При этом можно поэкспериментировать с различными кодировками в файле, и подобрать нужную. Или можно менять кодировки исходников, но это не надёжно.
Возможно, стоит полазить в исходниках, может быть где-то написано, какая кодировка нужна.
Ну и setlocale(LC_ALL, "Russian");
действительно лишним не должен быть.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Пишу код в Qtcreator на Linux подключены библиотеки "safelib С" для работы bounds-checking при компиляции пишет ошибку
Наблюдается только в среде xcode , в языках C и С++, вывод происходит только если дописывать \n или endl в конце каждого выводаНапример в таком коде...
Как сделать подмену двух номеров на сайте используя динамический коллтрекинг Mango Office?
Столкнулся с проблемой, если вставляю файл на страницу через такую конструкцию: