2010-04-30 60 views
10

我使用以下語言輸出希臘語中的月份全名。setlocale/strftime問題

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

這工作,除輸出字符串是ISO-8859-7(希臘語代碼頁),這是一個問題,因爲我需要一個UTF-8字符串。我可以通過iconv轉換它,但我想知道是否有辦法做到這一點,而不訴諸於額外的功能。

你能不能告訴strftime在這種情況下輸出一個UTF-8字符串?

回答

13

試試這個,

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

是的,它做到了。 – 2010-04-30 11:36:41

+0

不適用於Windows – vee 2015-08-10 05:09:54

1

只是阿里納斯到ZZ Coder的回答是:

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

無法在Linux中工作,從運行locale -a檢查啓用的語言環境貝殼。

如果在那裏沒有看到el_GR.UTF-8,請打開/etc/locale.gen並取消註釋相應的行。

然後運行locale-gen,你應該沒問題。