Ошибка в GetEnvironmentVariableUTF8

Вопросы программирования и использования среды Lazarus.

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

Ответить
tria
постоялец
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10
Контактная информация:

Ошибка в GetEnvironmentVariableUTF8

Сообщение tria »

Получаю имя компа методом:
s:=GetEnvironmentVariableUTF8('COMPUTERNAME');

Имя компа содержит кирилицу. На выходе получаю кракозябры.

Метод SysUtils.GetEnvironmentVariable(CompName) возвращает что-то, похожее на utf16, но UTF16ToUTF8(s) тоже дает кракозябры.
Мне еще нужно и 'CLIENTNAME' получать...

Что можете посоветовать?

Лазарь 2.0.6
фпс 3.0.4
iskander
энтузиаст
Сообщения: 630
Зарегистрирован: 08.01.2012 18:43:34

Сообщение iskander »

tria писал(а):Что можете посоветовать?

Обновить Лазарь и компилятор.
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

tria писал(а):s:=GetEnvironmentVariableUTF8('COMPUTERNAME');

Имя компа содержит кирилицу. На выходе получаю кракозябры..

попробуй запустить программу без отладчика (вне лазаруса)

На данный момент есть поверие, что проблема "вернулась" из-за перехода на Gdb 8.5. На старом отладчике Gdb 7.3.5 всё было норм.

Обновлять Лазарус или компилятор не нужно.
Seenkao
энтузиаст
Сообщения: 578
Зарегистрирован: 01.04.2020 02:37:12
Контактная информация:

Сообщение Seenkao »

Страницу модуля переведи в UTF-8 (правой клавишей на модуле -> "параметры файла" -> "кодировка")
или https://wiki.freepascal.org/Unicode_Sup ... 0.B8.D1.8E
tria
постоялец
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10
Контактная информация:

Сообщение tria »

Кодировка модуля utf8.
И таки да, без отладчика ошибки нет! Спасибо большое!
Ответить