好的,这里有什么问题?
header('Content-type: text/html; charset=utf-8');
setlocale(LC_ALL, NULL);
setlocale(LC_ALL, 'pt_BR');
echo "<p>São Paulo, " . date("d \d\e F \d\e Y", time()) . "</p>";
echo "<p>Preferred locale on this system is '" . setlocale(LC_ALL, NULL) . "'</p>";
回波:
São Paulo, 24 de April de 2012
Preferred locale on this system is 'Portuguese_Brazil.1252'
也尝试过:
setlocale(LC_ALL, 'Portuguese_Brazil.1252', 'bra', 'brazil', 'pt_BR', 'pt_BR.iso-8859-1', 'pt_BR.utf-8', 'portuguese', 'portuguese-brazil', 'ptb');
但是没有什么能让'aPril'成为'aBril'。
THX。
PS:文档是在IDE上格式化的UTF.8(无BOM)。
答案 0 :(得分:3)
我在共享主机上遇到了同样的问题,并且只创建了我自己的语言环境功能。
<强>更新强>
如果你安装了语言,只需使用strftime()而不是date()
来自PHP文档:
要使用其他语言格式化日期,您应该使用setlocale()和strftime() 函数而不是date()。
试试这个:
header('Content-type: text/html; charset=utf-8');
setlocale(LC_ALL, NULL);
//setlocale(LC_ALL, 'Portuguese_Brazil.1252'); ERROR in nowadays
setlocale(LC_ALL, 'pt_BR.utf-8'); // UTF-8 is the correct!
echo "<p>São Paulo, " . strftime("%d de %B de %Y", time()) . "</p>";
echo "<p>Preferred locale on this system is '" . setlocale(LC_ALL, NULL) . "'</p>";
答案 1 :(得分:-1)
strftime("%d de %B de %Y", time()).
工作!!