Как узнать в какой кодировке система?

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

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

Ответить
Аватара пользователя
vitaly_l
долгожитель
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41
Контактная информация:

Как узнать в какой кодировке система?

Сообщение vitaly_l »

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

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

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

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

uses
Sysutils;

begin
Writeln(getenvironmentvariable('LANG'));
end.
Какая переменная отвечает за кодировку в виндовсе, ты узнаешь если введёшь в консоли комманду SET
Аватара пользователя
vitaly_l
долгожитель
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41
Контактная информация:

Сообщение vitaly_l »

Сквозняк писал(а):getenvironmentvariable('LANG') & set

БЛАГОДАРЮ
SSerge
энтузиаст
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Сообщение SSerge »

Сквозняк писал(а):в виндовсе, ты узнаешь если введёшь в консоли комманду SET


Не узнаешь таким способом. Нет там переменной, содержащей кодировку. К тому же, кодировка консоли windows в русской версии отличается от системной.
Аватара пользователя
Alexx2000
постоялец
Сообщения: 490
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи
Контактная информация:

Сообщение Alexx2000 »

Под Lazarus можно воспользоваться функциями из модуля LConvEncoding:

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

function GetDefaultTextEncoding: string;
function GetConsoleTextEncoding: string;
Аватара пользователя
vitaly_l
долгожитель
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41
Контактная информация:

Сообщение vitaly_l »

Alexx2000 писал(а):function GetDefaultTextEncoding: string;

находится в LConvEncoding, там кстати, ещё много интересных финтифлюшечек, связанных с кодировками...

Большое человеческое спасибо!


.
Ответить