我使用iso-8859-1
编码创建了一个网站,我希望用法语显示日期。
这是我用于测试的文件:
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="ISO-8859-1"/>
</head>
<body>
<?php setlocale(LC_ALL, "fr_FR.iso88591"); echo strftime("%A %d %B %Y."); ?>
</body>
</html>
当我打开此文件时,我得到:Thursday 08 August 2013.
而不是Jeudi 08 Août 2013.
(法语)。
我尝试使用UTF-8
并且它正常工作,但它不是我想要的......
我检查了服务器上安装的语言包,一切似乎都正确无误:
server$ sudo locale -a
C
C.UTF-8
français
french
fr_FR
fr_FR.iso88591
fr_FR.utf8
POSIX
如果您有任何想法可以解决这个问题,那将非常酷。
编辑:拼写错误!
答案 0 :(得分:2)
你有错别字。 更改“setlocal”和“8895-1”
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="ISO-8895-1"/>
</head>
<body>
<?php setlocal(LC_ALL, "fr_FR.iso88951"); echo strftime("%A %d %B %Y."); ?>
</body>
</html>
分别为“setlocale”和“8859-1”。
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="ISO-8859-1"/>
</head>
<body>
<?php setlocale(LC_ALL, "fr_FR.iso88591"); echo strftime("%A %d %B %Y."); ?>
</body>
</html>
答案 1 :(得分:0)
就像我在评论中指出的那样,它应该是setlocale,而不是setlocal。
Google快速搜索指向this website,表明您应该这样做
setlocale(LC_ALL, "fr_FR.ISO-8859-1");
而不是
setlocal(LC_ALL, "fr_FR.iso88951");
编辑:
试试这个:
<?php
setlocale(LC_ALL, "fr_FR.iso88591");
setlocale(LC_NUMERIC, 'C');
echo strftime("%A %d %B %Y.");
?>
我没有尝试过,但值得一试。
答案 2 :(得分:-1)
代码中的错误(setlocal应该是setlocale):
<?php setlocale(LC_ALL, "fr_FR"); echo strftime("%A %d %B %Y."); ?>
还要确保您的系统上有法语区域设置:
locale -a
查看可用的语言环境(unix)。