Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > русификация проблема с CharToOem


Автор: Гость_сергей 1.8.2004, 01:55
Пытаюсь русифицировать строку из одной русской буквы "а" или "0xE0\0"
После CharToOem эта строка меняется на "0x85\0"
Когда я вывожу это на экран там печатается один знак который выглядит как ...
(3 точки)

Где тут ошибка?

Автор: Дрон 1.8.2004, 02:07
Ты переводишь символ из одной кодировки в другую.
0x85 -- это и есть троеточие в кодировке Windows, а ты попробуй на консоль вывести, вот там должно быть "а".

Только странно, что у тебя 0x85 получилось, ведь это "Е", у меня например выдало 0xA0 -- и это действительно "а". Может у тебя кодировки другие? hmmm.gif

Автор: Олег М 2.8.2004, 08:47
Всё нормально работает. У тебя может быть в реестре надо выставить кодовые страницы
Цитата
2. Открыть в редакторе ветвь
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\Codepage
и изменить в этой ветви параметры 1250 = "CP_1250.nls" и
1252 = "CP_1252.nls" на такие значения: 1250 = "CP_1251.nls" и
1252 = "CP_1251.nls"

Автор: sergei 2.8.2004, 17:24
1) А как узнать какие у меня кодировки? И как их изменить?

2) Изменения в HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\Codepage не помогли :-(

Даже Word Perfect 1.1 не печатает по русски а wordpad печатает OK ... странно...


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)