Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.51/121: Рейтинг темы: голосов - 121, средняя оценка - 4.51
 Аватар для american idiot
3 / 3 / 2
Регистрация: 04.12.2009
Сообщений: 51

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

06.10.2010, 08:18. Показов 24414. Ответов 49
Метки нет (Все метки)

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

Добавлено через 23 часа 19 минут
неужели никто не знает решения данной проблемы?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.10.2010, 08:18
Ответы с готовыми решениями:

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

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

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

49
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
31.10.2011, 00:25
Студворк — интернет-сервис помощи студентам
нет связи с устроителей олимпиады!

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

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

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


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

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

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

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




Цитата Сообщение от aeshes Посмотреть сообщение
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
не помогает!))
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
31.10.2011, 00:36
Цитата Сообщение от aeshes Посмотреть сообщение
P.S. А где на клавиатуре странная буква г с черточкой?
на украинской раскладке клавиатуры её нет
1
 Аватар для aeshes
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
31.10.2011, 00:40
Цитата Сообщение от Infinity3000 Посмотреть сообщение
не помогает!))
странно, у меня VS2010 и пресловутая буква І/і печатается нормально. Шрифт консоли Lucida Console


Jupiter, а как же тогда посмотреть, печатается ли она правильно?
1
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
31.10.2011, 00:46
Цитата Сообщение от aeshes Посмотреть сообщение
Шрифт консоли Lucida Console
Вот так вот норм!!))) вот и решение!! интересно!!
0
 Аватар для american idiot
3 / 3 / 2
Регистрация: 04.12.2009
Сообщений: 51
31.10.2011, 01:02  [ТС]
Если кому-то интересно, то я решил проблему написанием такой программки:
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
aeshes,
Цитата Сообщение от aeshes Посмотреть сообщение
P.S. А где на клавиатуре странная буква г с черточкой?
alt+г
Возможно, нужна расширенная клавиатура.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
13.12.2014, 20:26
Цитата Сообщение от american idiot Посмотреть сообщение
я решил проблему
Ты её на C# решил, а раздел про C++.
А что, у украинской i, какой-то особый код, отличный от латинской?
0
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
13.12.2014, 22:22
Цитата Сообщение от Infinity3000 Посмотреть сообщение
И все же есть решение чтобы в консоле отображалась Украинская "І" "і" ???
Нет - только английская.
Это - особенность кодировки DOS - 866.
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
13.12.2014, 22:28
Цитата Сообщение от Вадим Устименко Посмотреть сообщение
alt+г
Возможно, нужна расширенная клавиатура.
Думаю, за три года он её сам нашел
0
1 / 1 / 0
Регистрация: 09.10.2014
Сообщений: 35
14.12.2014, 02:45
Croessmah, не обратил внимания
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
14.12.2014, 04:15
Цитата Сообщение от IrineK Посмотреть сообщение
Нет - только английская.
Ну вообще-то есть решение. Консоль в Windows NT в основе своей юникодная, DOS кодировка - это просто режим по-умолчанию. В юникоде (utf16) напрямую ввод\вывод можно осуществлять через api WriteConsoleW\ReadConsoleW.

Цитата Сообщение от nmcf Посмотреть сообщение
А что, у украинской i, какой-то особый код, отличный от латинской?
Вообще-то да.
1
0 / 0 / 0
Регистрация: 21.07.2015
Сообщений: 3
26.07.2015, 13:57
Я пользуюсь таким кодом для вывода украинских 'і' и 'ґ'
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <vcl.h>
#include <stdio.h>
#include <iostream>
#include <clocale>
int main(){
system("chcp 1251 > text");
char word[100];
for(int i=0;(word[i]=getchar())!=EOF; ++i){
        putchar(word[i]);
}
system("pause");
    return 0;
}

Кстати, на раскладке есть 'ґ', нужно нажать 'г'+Alt
0
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 15
29.07.2015, 13:59
C++
1
setlocale(LC_ALL,"Ukrainian")
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
29.07.2015, 20:48
Ukrainian? А есть такая локаль?
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
29.07.2015, 20:53
Цитата Сообщение от nmcf Посмотреть сообщение
Ukrainian? А есть такая локаль?
Есть. Да почти для любого языка есть, главное чтоб шрифт поддерживал.
Другое дело, что, например, русский и украинский одновременно уже не используешь.
Самый верный вариант - это в юникоде все делать.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
29.07.2015, 20:57
В MSDN сказано, что кодировки для русского и украинского одни и те же: 1251 и 866.
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
29.07.2015, 21:11
Цитата Сообщение от nmcf Посмотреть сообщение
В MSDN сказано, что кодировки для русского и украинского одни и те же:
Как это отменяет наличие локали? Кодировка - это еще не все.
В линуксе может быть такая: uk_UA.UTF-8
В виндовс - такая: Ukrainian_Ukraine.1251
Локаль же у нас не только кодировку задает, а еще национальные особенности, в том числе символы валюты и т.д.

Добавлено через 5 минут
Собственно, вот список: https://msdn.microsoft.com/en-... 85%29.aspx
Сабж там присутствует.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
29.07.2015, 21:17
Я не про локаль, а про невозможность работать с двумя языками.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.07.2015, 21:17

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

Русские символы в консоли
Прошу помочь. 3 дня брожу по интернету, не могу найти решение своей проблемы: вывод русских символов в консоль, все перепробовал(....

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

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

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Сезонность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru