как сменить кодировку в винде в консоли?

sasha007

sergey_m

А где там консоль?

oleg701

Если 98-я, то нужен русификатор типа keyrus.
А дальше как обычно.
То есть запускается окно MS-DOS, в нем запускается русификатор, а потом в этом же окне запускается все что требует русских букв.

sasha007

я имела ввиду командную строку

haus-11

И его {русификатор} надо прописать в автоекзеке

sergey_m

Поставить keyrus. Но этим ты сменишь только раскладку.
Данные все равно будут в cp-1251.
Сделать koi8-r в command.com не возможно.

sasha007

или меняю вопрос как в VC++ писать в кодировке koi8

oleg701

Командная строка - это Start/Run?
Это ж вообще обычное виндовое оконо, там проблем быть не должно в принципе.

sasha007

я сменила вопрос:)

oleg701

У, как все запущено...
Тогда ХЗ.

sergey_m

Пиши как есть.
напиши функцию win2koi и все строки перед
отправкой туда, куда тебе нужно (MySQL?) обрабатывай этой
функцией.

sasha007

ну как есть:)
я же не виновата что под виндой cp1251 по умолчанию:)

sasha007

хм
а как ее написать?

sergey_m

Примеров дофига
Посмотри на программы libiconv, fromwin/towin и др.

oleg701

;win<>koi
;Table1=бвчзде№цъйклмнопртуфхжигюыэящшьас
;Table2=АБВГДЕ№ЖЗИЙКЛМНОПРСТУФХЦЧШЩъЫЬЭЮЯ
;win<>koi
;Table1=БВЧЗДЕёЦъЙКЛМНОПРТПУФХЖИГЮЫЭЯЩШЬАС
;Table2=абвгдеёжзийклмнопростуфхцчшщъыьэюя

sasha007

это что единственное чем они отличаются?:)
что-то я ничерта не поняла:)

sasha007

а где эти программы?

sergey_m

Ну вот имея эти таблицы функцию написать легко

ol4a21

А как работаешь с мисклем
Через ейную либу, или через ODBC?
Просто в ODBC вроде есть какие-то средства, позволяющие сделать так, чтобы все перекодировалось драйвером на лету

oleg701

На самом деле таблицы такие
Table1=бвчзде№цъйклмнопртуфхжигюыэящшьасБВЧЗДЕёЦъЙКЛМНОПРТПУФХЖИГЮЫЭЯЩШЬАС
Table2=АБВГДЕ№ЖЗИЙКЛМНОПРСТУФХЦЧШЩъЫЬЭЮЯабвгдеёжзийклмнопростуфхцчшщъыьэюя
Пусть у тебя в Win есть буква, например "б". Находишь ее номер в первой строке (Table1 и берешь символ с этим номером в Table2 ("А") - это и будет "б" в koi-8. И так для каждого символа.

oleg701

И наоборот, если ты знаешь что тебе нужно получить букву "в" в koi-8, ты ее ищешь во второй строке, а пишешь вместо нее символ с этим номером из первой строки ("Ч") в win-1251.

sasha007

эт я доперла:)
просто у меня привычка задавать вопрос не подумав самой

sasha007

через либу
Оставить комментарий
Имя или ник:
Комментарий: