Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
talis
792 / 544 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
#1

Кодировки в Code::Blocks и cygwin - C++

12.04.2011, 23:00. Просмотров 1366. Ответов 1
Метки нет (Все метки)

Добрый день.

Игрался с символами разных языков в Code::Blocks и cygwin. Вот исходник, который я компилировал:

C++
1
2
3
4
5
6
7
#include <iostream>
 
int main(int argc, char *argv[])
{
    std::cout << "Hello, tester!\nRU: великолепно\nDE: prГ¤chtig\nCZ: krГЎsnГЅ\nJP: г‚‚";
    return 0;
}
У меня эти символы не отображаются нормально. Выкладываю скриншот строки:
Кодировки в Code::Blocks и cygwin

При компиляции в Code::Blocks выдаётся такой результат:
Кодировки в Code::Blocks и cygwin

Вот он же при запуске из-под cygwin, а затем с перекомпиляцией в cygwin:
Кодировки в Code::Blocks и cygwin

При чём вызовы setlocale( LC_ALL, "RU" ) и setlocale( LC_ALL, "C.UTF-8" ) ничего не меняют.

При просмотре конечного exe-файла в Code::Block'овском варианте кусок этой строки выглядит так:

Код
Hello, tester!
RU: великолепно
DE: prächtig
А вот вариант cygwin:

Код
Hello, tester!
RU: великолепно
DE: prächtig
В общем, они идентичны. Отсюда вопрос: почему под одним и тем же cygwin идентичные данные выглядят по-разному, если программы скомпилированы разными компиляторами (в разных средах)? Функции из cygwin'овских библиотек работают как-то по-другому?

У кого есть мысли - поделитесь, пожалуйста. Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2011, 23:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Кодировки в Code::Blocks и cygwin (C++):

Code::blocks - C++
Помогите как включить #include &lt;graphics.h&gt; #include &lt;windows.h&gt; в Code::block - се ,

Code::Blocks - C++
Здравствуйте. Я в английском не силён, и разобраться самостоятельно с этой IDE не могу. У меня есть несколько вкладок с открытыми *.cpp...

Code::blocks и VS - C++
всем привет, у меня такой вопрос: какой в Code::blocks аналог для #include stdafx.h? Нужно запустить, операции использую для этой...

Code::Blocks - C++
В Code::Blocks когда ты откомпилил программу в Debug, после внес изменения и снова &quot;откомпилил&quot;, то нет результата от 2-й компиляции -...

MS VS in CODE BLOCKS - C++
Делал проекты в VISUAL C++ EXPRESS. Сеичас пересел на LINUX, пользуюсь CODE BLOCKS . Есть какие-нибудь варианты как открыть проекты...

code::blocks 10.05 - C++
Я установил себе C++ code::blocks. И когда я компилирую любую программу и потом запускаю .exe выдаёт ошибку не находит libstdc++-6.dll. Я...

1
Байт
Эксперт C
16555 / 10825 / 1640
Регистрация: 24.12.2010
Сообщений: 20,910
12.04.2011, 23:47 #2
Любопытно. Именно сегодня, несколько часов назад я понял, что кодировки - штука ехидная.
Я всегда мыслил 256-байтной табличкой, и видимо, был не прав. Там такие механизмы работают!
И вот хотелось бы понять - Где, Кто и Зачем.
Поясняю ситуацию. Обычный Courier New перекидываю на хост, пытаюсь им рисовать (GD) - получаю ахинею. Смотрю у себя в Винде этот самый Курьер, а там вовсе не в C0 наши русские стоят! Ба! Да энтот курьер на UFT-8 настроен. И Винда при всех отображениях кириллицы каким-то образом все в UTF-8 преобразовывает. А Линух (или какой-то X) поступает честнее - требует явной перекодировки.
Так вот интересно, где этот преобразователь? В файле фонта? В каком-то флаге "локализации" ?
Как они взаимодействуют ?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.04.2011, 23:47
Привет! Вот еще темы с ответами:

Не компилирует Code::Blocks 10.05 - C++
Программирую в среде Visual Studio 2010. Решил попробовать CodeBlocks. Установил всё точно так, как прописано здесь:...

не компилит code blocks - C++
привет, чтото после переустановки винды сталкнулся с проблемой: не компилит ну ни в каком образе - как исправить такое?

Libcurl code blocks - C++
Уже вторые сутки пытаюсь установить библиотеку curl, но перерыв кучу материала в интернете так и не смог найти толкового гайда по...

Code Blocks ошибка - C++
Помогите разобраться, почему программа выдает ошибку.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru