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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 68, средняя оценка - 4.65
american idiot
3 / 3 / 0
Регистрация: 04.12.2009
Сообщений: 51
#1

Украинские символы в консоли - C++

06.10.2010, 08:18. Просмотров 9262. Ответов 48
Метки нет (Все метки)

Подскажите, как сделать, чтобы в консоли корректно отображались буквы украинского алфавита, в частности буква "і". Такие буквы, как "є" и "ї" отображаются правильно. Проблема актуальна как для ISO/ANSI, так и для .net

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

Странные символы в консоли с++ - C++
Доброго времени суток!Подскажите пожалуйста по одному вопросу. Столкнулся с символом мелодии в консоли : запустил, ввел данные и на экран...

Спец-символы в консоли - C++
Почему-то когда я пишу управляющую последовательность вроде cout << '\0x5c'; мне консоль выдает примерно 9-значное число вместо '\'.....

Цветные символы в консоли. - C++
Уважаемые, подскажите как сделать символы в консоли цветными. IDE - VStudio 2008.

Непонятные символы в консоли - C++
Доброго времени суток! Работаю со строками, перезагружаю операторы, но на консоль вместе с результатом выводятся какие-то непонятные...

Непонятные символы в консоли - C++
Выводит непонятные символы (пики, стрелки), скрин снизу, посмотрите. Вот сам код: #include <iostream> using namespace std; int...

Символы неизвестного происхождения в консоли - C++
int main() { using namespace std; setlocale(0, ""); int count; cout << "Введите кол-во точек : "; cin >> count; char...

48
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
30.10.2011, 23:35 #16
И все же есть решение чтобы в консоле отображалась Украинская "І" "і" ???
0
Jupiter
31.10.2011, 00:05
  #17

Не по теме:

Цитата Сообщение от Infinity3000 Посмотреть сообщение
И все же есть решение чтобы в консоле отображалась Украинская "І" "і" ???
вот интересно на кой в черном окне косоли предназначеном для отладки и обучения какой либо язык кроме английского?

2
aeshes
31.10.2011, 00:14
  #18

Не по теме:

Jupiter, просто у некоторых может быть язык обучения в универе - украинский, вот преподы и требуют. Хотя мне тоже непонятно, почему нельзя писать на английском) Как вариант, можно попросить препода показать, как настроить в консоли укрмову) Думаю, это требование у него быстро отпадет

2
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
31.10.2011, 00:14 #19
ну, например, олимпиадные задания в украинских универах, в условии заданий вывод должен быть только украинский! прочитал такое задание и просто стало интересно!!

только и поэтому и все!
0
aeshes
440 / 203 / 13
Регистрация: 07.10.2011
Сообщений: 462
31.10.2011, 00:19 #20
Infinity3000, тогда как вариант - спросить у устроителей олимпиады, как настроить консоль) А вообще первый раз такое вижу. На различных сайтах с олимпиадными задачами типа ******** вывод тоже английский, как раз, чтобы не мучится с кириллицей
1
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
31.10.2011, 00:25 #21
нет связи с устроителей олимпиады!

вот например задание:

Дано невід’ємне ціле число К, яке не перевищує мільйона. Вивести на екран фразу «К ворон» українською мовою. (Наприклад, якщо К=23, то фраза повинна бути “Двадцять три ворони”, якщо К=3651, то "Три тисячі шіст-\сот п’ятдесят одна ворона").

Ну или на русском!


Дано неотрицательное целое число К, которое не превышает миллиона. Вывести на экран фразу «К ворон" на украинском языке. (Например, если К = 23, то фраза должна быть "Двадцать три вороны", если К = 3651, то "Три тысячи шестьсот пятьдесят одна ворона").

ну вот что то наподобии!))))

Добавлено через 1 минуту
так сказать просто спортивный интерес
0
aeshes
440 / 203 / 13
Регистрация: 07.10.2011
Сообщений: 462
31.10.2011, 00:31 #22
по идее
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
должно помочь

P.S. А где на клавиатуре странная буква г с черточкой?
1
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
31.10.2011, 00:36 #23
Цитата Сообщение от aeshes Посмотреть сообщение
А где на клавиатуре странная буква г с черточкой?
Без понятия!)))))




Цитата Сообщение от aeshes Посмотреть сообщение
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
не помогает!))
0
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
31.10.2011, 00:36 #24
Цитата Сообщение от aeshes Посмотреть сообщение
P.S. А где на клавиатуре странная буква г с черточкой?
на украинской раскладке клавиатуры её нет
1
aeshes
440 / 203 / 13
Регистрация: 07.10.2011
Сообщений: 462
31.10.2011, 00:40 #25
Цитата Сообщение от Infinity3000 Посмотреть сообщение
не помогает!))
странно, у меня VS2010 и пресловутая буква І/і печатается нормально. Шрифт консоли Lucida Console


Jupiter, а как же тогда посмотреть, печатается ли она правильно?
1
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
31.10.2011, 00:46 #26
Цитата Сообщение от aeshes Посмотреть сообщение
Шрифт консоли Lucida Console
Вот так вот норм!!))) вот и решение!! интересно!!
0
american idiot
3 / 3 / 0
Регистрация: 04.12.2009
Сообщений: 51
31.10.2011, 01:02  [ТС] #27
Если кому-то интересно, то я решил проблему написанием такой программки:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
using System;
using Microsoft.Win32;
using System.Text;
 
 
namespace Ukrainian
{
    public class UkrConsole
    {
        private static readonly RegistryKey Reg = Registry.CurrentUser.CreateSubKey("Console");
        private static string[] _registryValueNames;
        private static bool _registryModified;
        public static void Enable()
        {
            _registryModified = false;
            Console.OutputEncoding = Encoding.UTF8;
            Console.InputEncoding = Encoding.Default;
            ScanRegistry();
            if (!_registryModified)
            {
                Reg.SetValue("FontSize", 0x111001);
                Reg.SetValue("FaceName", "Consolas");
                Reg.Close();
                System.Windows.Forms.Application.Restart();
                Environment.Exit(1);        
            }
        }
        public static void Disable()
        {
            ScanRegistry();
            if (_registryModified)
            {
                Reg.SetValue("FontSize", "0");
                Reg.DeleteValue("FaceName");
                Reg.Close();
                System.Windows.Forms.Application.Restart();
                Environment.Exit(1);
            }
        }
 
        private static void ScanRegistry()
        {
            _registryModified = false;
            _registryValueNames = Reg.GetValueNames();
            foreach (string registryValueName in _registryValueNames)
                if ((registryValueName == "FaceName") && (Reg.GetValue(registryValueName) != null))
                {
                    _registryModified = true;
                    break;
                }
        }
        public static bool Modified()
        {
            ScanRegistry();
            return _registryModified;
        }
    }
}
1
Вадим Устименко
1 / 1 / 0
Регистрация: 09.10.2014
Сообщений: 35
13.12.2014, 19:51 #28
aeshes,
Цитата Сообщение от aeshes Посмотреть сообщение
P.S. А где на клавиатуре странная буква г с черточкой?
alt+г
Возможно, нужна расширенная клавиатура.
0
nmcf
5324 / 4644 / 1553
Регистрация: 14.04.2014
Сообщений: 18,479
13.12.2014, 20:26 #29
Цитата Сообщение от american idiot Посмотреть сообщение
я решил проблему
Ты её на C# решил, а раздел про C++.
А что, у украинской i, какой-то особый код, отличный от латинской?
0
IrineK
Заблокирован
13.12.2014, 22:22 #30
Цитата Сообщение от Infinity3000 Посмотреть сообщение
И все же есть решение чтобы в консоле отображалась Украинская "І" "і" ???
Нет - только английская.
Это - особенность кодировки DOS - 866.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2014, 22:22
Привет! Вот еще темы с ответами:

Некорректно отображаются символы в консоли - C++
Как настроить вывод символов, чтобы консоль не переносила часть слова или числа?

В консоли не отображаются никакие символы - C++
После компиляции в окне не отображаются ни какие символы... приложение dev c++ 5.4.2

Русские символы в консоли на другом компьютере - C++
Запускаю .exe консольной программы на другом компьютере - в ответ получаю иероглифы. На другом компьютере нет MSC10, на котором писалась...

Неправильно считываются русские символы из консоли - C++
упорно не хочет читать русские символы из консоли :( выводятся нормально, а считывает введенные не правильно ! setlocale(LC_ALL,...


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

Или воспользуйтесь поиском по форуму:
30
Yandex
Объявления
13.12.2014, 22:22
Ответ Создать тему
Опции темы

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