我正在尝试将日期/时间翻译成法语。下面是我的代码但是我在获取字符“à”时遇到问题,php给我的是“Ô字符。
setlocale(LC_TIME, "");
setlocale(LC_TIME, 'french');
echo 'locale - ' . setlocale(LC_TIME, '0');
echo ' : month - ' . strftime('Le %d %B %Y') . 'à'; //Le 07 Octobre 2014 à
答案 0 :(得分:3)
这是因为浏览器出于某种原因使用了错误的字符编码。为了确保不会发生这种情况,您应该明确设置字符编码,如下所示:
header('Content-Type: text/html; charset=utf-8');
在设置HTTP标头时(这就是上面提到的),在回显任何内容之前这样做很重要。因此,最好将标题设置为脚本中的第一个内容。
在HTML中设置它通常也是个好主意。将其放入<head>
(或者如果您没有<head>
,请将其放在<title>
和其他任何内容之前。
<meta charset="utf-8">
所以,例如:
<?php
header('Content-Type: text/html; charset=utf-8');
?>
<meta charset="utf-8">
<title>This is my website</title>
<p>Bla bla bla...</p>
如果您使用的是Apache,那么您可以让它为您处理标题。这可以通过将以下内容添加到.htaccess
文件来完成。将它放在网站文件夹结构的根目录中。
AddDefaultCharset utf-8
我不熟悉其他服务器,但你也可以让他们为你做。搜索StackOverflow以了解如何或阅读服务器的文档。