mat*_*att 13 php encoding utf-8 diacritics
我正在使用PHP 14. März 2012(2012年3月14日)创建这样的德国日期格式.
我正在使用$date[0]它包含一个unix时间戳,我将它转换为可读的德国日期.
$date_day_month = strftime('%d. %B', $date[0]);
$date_year = strftime('%Y', $date[0]);
echo $date_day_month . $date_year;
Run Code Online (Sandbox Code Playgroud)
不过我在某种程度上得到了ä像这样的Umlaut的问号
14. M?rz 2012
为什么这样,我该如何解决这个问题?提前致谢.
lor*_*key 38
在我的情况下,简单的区域设置更改就可以了.
代替:
setlocale(LC_TIME, "de_DE");
Run Code Online (Sandbox Code Playgroud)
使用:
setlocale(LC_TIME, "de_DE.UTF-8");
Run Code Online (Sandbox Code Playgroud)
您可以尝试将您的网页设置为 utf-8,并将其放入您的head标签中:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\nRun Code Online (Sandbox Code Playgroud)\n\nstrftime取决于语言环境的正确设置,因此请检查setlocale()并确保运行 php 的计算机上存在语言环境。
更新
\n\n我在我的服务器上运行了这段代码:
\n\nsetlocale(LC_ALL, \'de_DE\');\n$date[0] = mktime( 1, 0, 0, 3, 2, 2012 );\n\n$date_day_month = strftime(\'%d. %B\', $date[0]);\n$date_year = strftime(\'%Y\', $date[0]);\n\necho $date_day_month . $date_year;\nRun Code Online (Sandbox Code Playgroud)\n\n输出:
\n\n02. M\xc3\xa4rz2012