= Сообщение: 3504 из 3632 ======================================== RU.GOLDED = От : Stas Mishchenkov 2:460/5858 15 Mar 24 10:04:18 Кому : Vitaliy Aksyonov 15 Mar 24 10:04:18 Тема : В консольном режиме Linux даже при выборе кодировки UTF-8 вместо ки FGHI : area://RU.GOLDED?msgid=2:460/5858+65f3f586 На : area://RU.GOLDED?msgid=1:104/117+65f2f94f = Кодировка сообщения определена как: CP866 ================================== Ответ: area://RU.GOLDED?msgid=1:104/117+65f45e53 ============================================================================== Hi Vitaliy!
14 Mar 24 07:17, Vitaliy Aksyonov -> Stas Mishchenkov:
VA>>>>>> Интересно, как он определяет локальную кодировку на венде. :)
SM>> [...skipped...]
VA>>> Надо чтобы он брал из setlocale(LC_что-то, NULL). И это будет VA>>> работать везде, где есть setlocale. А есть оно почти везде.
SM>> $locale = setlocale(LC_CTYPE);
[...skipped...]
SM>> Не работает.
VA> Ты неправильно её готовишь. Я тоже на это наступил. Надо внимательнее VA> читать документацию. :)
# query and save the old locale $old_locale = setlocale(LC_CTYPE);
setlocale(LC_CTYPE, ""); # LC_CTYPE now reset to the default defined by the # LC_ALL/LC_CTYPE/LANG environment variables, or to the system # default.
VA> Попробуй так: setlocale(LC_CTYPE, "");
Та же фигня, только в левой руке.
VA> В твоём варианте оно возвращает текущую для процесса. А так, как она VA> ранее не была выставлена, то и возвращает C. Мой вариант как раз VA> выставляет локаль используя LANG и другие переменные и возвращает тебе VA> то, что наделал.
Судя по доке, пустая строка должна вызвать ресет локали на дефаулт.
Да, это я проверял для
D:\Fido\inbound>ver Microsoft Windows [Version 10.0.19045.4170]