setlocale / strftime问题

时间:2010-04-30 11:21:49

标签: php localization

我使用以下内容以希腊语输出一个月的全名。

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

这是有效的,除了输出字符串是ISO-8859-7(希腊代码页),这是一个问题,因为我需要一个UTF-8字符串。我可以把它通过iconv转换它,但我想知道是否有办法做到这一点,而无需借助额外的功能。

在这种情况下,你能以某种方式告诉strftime输出一个UTF-8字符串吗?

2 个答案:

答案 0 :(得分:13)

试试这个,

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

答案 1 :(得分:1)

只是ZZ Coder答案的旁注:

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

无法在Linux中运行,请通过从shell运行locale -a来检查已启用的区域设置。

如果您在那里看不到el_GR.UTF-8,请打开/etc/locale.gen并取消注释相应的行。

然后运行locale-gen,你应该没事。