Определение текущей кодировки

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
Сквозняк
энтузиаст
Сообщения: 1159
Зарегистрирован: 29.06.2006 22:08:32

Определение текущей кодировки

Сообщение Сквозняк »

Как программно онределить текущую кодировку в консоли линукса? Способ с переменной LANG не подходит, он всё время выдаёт текущую кодировку локали utf8.
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

Вообще-то это и есть текущая кодировка в консоли. Попробуйте запустить ваше приложение с переопределенной локалью и посмотрите что получится
пример запуска

Код: Выделить всё

env LANG=ru_RU.CP1251 ./example
Сквозняк
энтузиаст
Сообщения: 1159
Зарегистрирован: 29.06.2006 22:08:32

Сообщение Сквозняк »

Вообще-то это и есть текущая кодировка в консоли.

Не всегда, только в том случае если кодировка не изменяется кнопками в менюшке консоли. В случае переключения раскладок кнопками, содержимое переменной LANG не изменится, и программа example не сможет узнать что кодировка уже не ru_RU.CP1251. Это проблема((((((((((
Ответить