Программинг Форум для тем связанных с программированием
29.10.2009, 21:14
#1
Рыцарь
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
кодировка.
дано:
Код:
wchar_t * s = {0x410, 0x410, 0x410, 0x410 0x410, 0x410, 0x0,};
void main()
{
wprintf(s);
};
найти:
как заставить виндовую консоль говорить на языке UTF8?
знаю как перегнать строчку другой формат, но это не Труъ,
поэтому такой вариант не рассматриваем.
Последний раз редактировалось destructor, 30.10.2009 в 00:09 .
Причина: Добавлено сообщение
29.10.2009, 21:34
#2
Admin!
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
запускаем cmd.exe, ставим через свойства шрифт TrueType, и командой chcp 65001 устанавливаем utf-8
после этого можно вызывать проги выводящие на консоль utf-8
ЗЫ но мне кажется что у тя код выводит utf-16
__________________
Я здесь практически не появляюсь!, Skype - ikskor
За это сообщение xkor нажился спасибкой от:
29.10.2009, 21:39
#3
Рыцарь
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
Цитата:
Сообщение от
xkor
ЗЫ но мне кажется что у тя код выводит utf-16
ну текст в пакетах л2 в чем?
Последний раз редактировалось destructor, 29.10.2009 в 21:40 .
Причина: Добавлено сообщение
29.10.2009, 21:51
#4
Admin!
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
о, а ещё есть такая функция - SetConsoleOutputCP
и можно прям в своей проге указать кодировку - SetConsoleOutputCP(65001);
Добавлено через 1 минуту
destructor , в пакетах линейки в юникоде (utf-16), как его на консоль выдернуть я хз так что приждётся сначала в utf-8 переводить, благо это не проблема)
__________________
Я здесь практически не появляюсь!, Skype - ikskor
Последний раз редактировалось xkor, 29.10.2009 в 21:51 .
Причина: Добавлено сообщение
29.10.2009, 22:31
#5
Рыцарь
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
мсдн пишет:
1200 utf-16 Unicode UTF-16, little endian byte order (BMP of ISO 10646); available only to managed applications
щас попробую: SetConsoleOutputCP(1200);
Добавлено через 29 минут
Цитата:
Сообщение от
destructor
available only to managed applications
плять, пойду убьюсь
//alexteam: пашли, я местечко хорошее знаю, покруче чем будка самоубийств.
опоздал, купил 3 банки пива и таки осилил себя забылокодить конвертор,
снова хочется жить, так что в другой раз
Последний раз редактировалось destructor, 30.10.2009 в 00:17 .
Причина: Добавлено сообщение
30.10.2009, 00:14
#6
Пользователь
Регистрация: 03.11.2008
Сообщений: 60
Сказал Спасибо: 3
Имеет 107 спасибок в 21 сообщенях
в чем проблема? в линейке строки все UTF-16, обычный юникод.
в С\С++ это wchar_t*, std::wstring
выводится через std::wcout
30.10.2009, 00:18
#7
Рыцарь
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
GoldFinch , да кракозяблы она вместо руского выводит
30.10.2009, 00:25
#8
Пользователь
Регистрация: 03.11.2008
Сообщений: 60
Сказал Спасибо: 3
Имеет 107 спасибок в 21 сообщенях
cpp Код:
#include <iostream>
#include <locale>
int main( )
{
setlocale( LC_ALL,"Russian" ) ;
wchar_t s[] = {0x0410, 0x0411, 0x042b, 0x0420, 0x0412, 0x0410, 0x0413, 0};
std::wcout << s << std::endl ;
}
& #91; это [
PS: "Russian" - это под виндой. под никсами другая строка, есле что
Последний раз редактировалось GoldFinch, 30.10.2009 в 00:31 .
30.10.2009, 00:38
#9
Рыцарь
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
Цитата:
Сообщение от
destructor
wprintf
вместо
Цитата:
Сообщение от
GoldFinch
std::wcout
должен катить
Добавлено через 36 секунд
но и твои лыжи тоже не поехали
Последний раз редактировалось destructor, 30.10.2009 в 00:39 .
Причина: Добавлено сообщение
30.10.2009, 00:57
#10
Пользователь
Регистрация: 03.11.2008
Сообщений: 60
Сказал Спасибо: 3
Имеет 107 спасибок в 21 сообщенях
destructor , чини ОС, с ней явно что-то не то.
Опции темы
Опции просмотра
Линейный вид
Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
Часовой пояс GMT +4, время: 15:16 .
vBulletin style designed by
MSC Team .
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод:
zCarot
Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!