PHP:即使使用setlocale,德语日期变音符号也不起作用

时间:2015-12-16 09:46:15

标签: php date diacritics setlocale

我搜索了很多,并试图找出为什么我的德国约会不会推出“03.März2016”,而是始终打印“03.M rz2016”

<?php 
    $event_date_format = DateTime::createFromFormat('Ymd', $event_date[0]);


    setlocale(LC_TIME, 'de_DE', 'de_DE.UTF-8');
    echo strftime("%A, %d. %B %Y", $event_date_format->getTimestamp()); // Donnerstag, 03. M�rz 2016

    echo $event_date_format->format('F'); // March
?>

enter image description here

看起来像这样:

enter image description here

变音符号在页面的其余部分正常工作并且正常。

我能够用

修复它
$fmt = new IntlDateFormatter('de_DE' ,IntlDateFormatter::FULL, IntlDateFormatter::NONE, 'Europe/Berlin', IntlDateFormatter::GREGORIAN);
$fmt->setPattern("MMMM");
$event_date_format = DateTime::createFromFormat('Ymd', $event_date[0]);
echo $fmt->format($event_date_format);

0 个答案:

没有答案