Проблема setlocale/strftime

Я использую следующее, чтобы вывести полное имя месяца на греческом языке.

setlocale(LC_TIME, 'el_GR');
strftime("%B"); 

Это работает, за исключением строки вывода ISO-8859-7 (страница греческого кода), что является проблемой, так как мне нужна строка UTF-8. Я мог бы передать это через iconv, чтобы преобразовать его, но мне было интересно, есть ли способ сделать это, не прибегая к дополнительной функции.

Не могли бы вы каким-то образом сообщить strftime для вывода строки UTF-8 в этом случае?

Ответ 1

Попробуйте это,

setlocale(LC_TIME, 'el_GR.UTF-8');

Ответ 2

Просто ответьте на ZZ Coder ответ:

если setlocale(LC_TIME, 'el_GR.UTF-8');

не работает в linux, проверьте свои активированные локали, запустив locale -a из оболочки.

Если вы не видите el_GR.UTF-8, откройте /etc/locale.gen и раскомментируйте соответствующую строку.

Затем запустите locale-gen, и вы должны быть в порядке.