Понедельник, 25 Ноября 2024, 18:11

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Проблема с русским языком после компилирования
HacKeRДата: Вторник, 14 Декабря 2010, 20:00 | Сообщение # 1
Злой Ангел
Сейчас нет на сайте
Вот написал код, вписал в него
Code
setlocale( LC_ALL, "Russian" );
. У меня всё нормально отображается но скинув .exe файл другу, оказалось что у него не коректно отображается русский язык. Что делать?


Жизнь это игра - хреново задумана но графика обалденная.....
Программирую на С++

Мой личный Мой новый блог (создан 22.08.2011)
InuДата: Вторник, 14 Декабря 2010, 20:21 | Сообщение # 2
почетный гость
Сейчас нет на сайте
Видимо, у него в настройках ОС (уж не знаю, какая) по другому настроены кодировки. Для русской Windows стандартной является ANSI-кодировка cp1251, а консоль использует cp866. Тема обширная, поэтому рекомендую почитать статью Джоэла Спольски вот тут.

Что же такое?
Многие, очень многие задаются этим вопросом. Так что же такое?


Сообщение отредактировал Inu - Вторник, 14 Декабря 2010, 20:21
HacKeRДата: Вторник, 14 Декабря 2010, 20:23 | Сообщение # 3
Злой Ангел
Сейчас нет на сайте
ну а можно сделать так, чтобы и с cp1251 и с cp866 работало?

Жизнь это игра - хреново задумана но графика обалденная.....
Программирую на С++

Мой личный Мой новый блог (создан 22.08.2011)
InuДата: Вторник, 14 Декабря 2010, 20:32 | Сообщение # 4
почетный гость
Сейчас нет на сайте
Попробуй воспользоваться функцией CharToOEM
Code

CharToOemA(str,s);//str - конвертируемая строка, s - строка, в которую пишем


Что же такое?
Многие, очень многие задаются этим вопросом. Так что же такое?
HacKeRДата: Вторник, 14 Декабря 2010, 20:42 | Сообщение # 5
Злой Ангел
Сейчас нет на сайте
Quote (Inu)
Попробуй воспользоваться функцией CharToOEM

ого:) Если у меня много строк ( так как делаю текстовою игру ) то можно ещё как то. смотрел в гуле, пишут что нужно в консоли прописать chcp 1251; но можно это сделать через ВС?


Жизнь это игра - хреново задумана но графика обалденная.....
Программирую на С++

Мой личный Мой новый блог (создан 22.08.2011)
BOOMДата: Среда, 15 Декабря 2010, 08:26 | Сообщение # 6
I am the creator of ADE
Сейчас нет на сайте
HacKeR, используй Win API, а именно, управление кодировками.

И вообще, зачем создал ещё одну тему по кодеровке. Можно было бы задать вопрос в своей же теме: http://gcup.ru/forum/62-11538-1

----------------------------------
Совсем забыл, у твоего друга не установлена необходимая кодировка. Пусть пере установит Windows, или установит кодировки на неё. Тогда всё будет работать хорошо.


______________________________
Я вернулся, и это чудо.
______________________________


Сообщение отредактировал BOOM - Среда, 15 Декабря 2010, 08:49
AngevengelistДата: Среда, 15 Декабря 2010, 08:35 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
Quote (HacKeR)
ого:) Если у меня много строк ( так как делаю текстовою игру ) то можно ещё как то. смотрел в гуле, пишут что нужно в консоли прописать chcp 1251; но можно это сделать через ВС?

Элементарный способ, написать функцию вывода на экран (типа cout), только уже с CharToOemA(str,s);
HacKeRДата: Среда, 15 Декабря 2010, 12:01 | Сообщение # 8
Злой Ангел
Сейчас нет на сайте
Quote (Angevengelist)
Элементарный способ, написать функцию вывода на экран (типа cout), только уже с CharToOemA(str,s);

ну а если у меня уже более 100 cout... то мне что, всё заменять?


Жизнь это игра - хреново задумана но графика обалденная.....
Программирую на С++

Мой личный Мой новый блог (создан 22.08.2011)
InuДата: Среда, 15 Декабря 2010, 12:41 | Сообщение # 9
почетный гость
Сейчас нет на сайте
HacKeR, попробуй перед установкой локали вставить эти две строки
Code
SetConsoleCP(1251);   
SetConsoleOutputCP(1251);

Только в настройках консоли нужно переключить шрифт на Lucida Console. У меня такой вариант работает.


Что же такое?
Многие, очень многие задаются этим вопросом. Так что же такое?


Сообщение отредактировал Inu - Среда, 15 Декабря 2010, 12:41
BaHu3aTopДата: Среда, 15 Декабря 2010, 19:01 | Сообщение # 10
постоянный участник
Сейчас нет на сайте
У меня проблема похожая, только русский язык не делается у меня, пробывал и
Code
setlocale( LC_ALL, "Russian" );
и
Code
SetConsoleCP(1251);     
SetConsoleOutputCP(1251);
с шрифтом Lucida Console, все равно иероглифы(microsoft visual c++ 2010)




Сообщение отредактировал BaHu3aTop - Среда, 15 Декабря 2010, 19:01
InuДата: Среда, 15 Декабря 2010, 20:35 | Сообщение # 11
почетный гость
Сейчас нет на сайте
Quote (BaHu3aTop)
пробывал и

А одновременно? Пробовал?


Что же такое?
Многие, очень многие задаются этим вопросом. Так что же такое?
BaHu3aTopДата: Среда, 15 Декабря 2010, 20:42 | Сообщение # 12
постоянный участник
Сейчас нет на сайте
Пробывал, возможно не работает из-за minimalistic pspsdk?

  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг