Encoding POEdit编码问题
我正在使用PoEdit创建我的Encoding POEdit编码问题,encoding,gettext,poedit,Encoding,Gettext,Poedit,我正在使用PoEdit创建我的messages.mo文件,以便在我的phpweb应用程序中使用 我检查了我的编码是UTF-8,但我的口音仍然没有显示出来(例如,“é”、“è”和…)。实际上,源文件和目标文件都是用UTF-8定义的 下面是我用来启用gettext的代码: <?php $dir = "../locale"; $lang="fr_FR"; $domain="messages"; putenv("LANG=$lang"); setlocale
messages.mo
文件,以便在我的php
web应用程序中使用
我检查了我的编码是UTF-8
,但我的口音仍然没有显示出来(例如,“é”、“è”和…)。实际上,源文件和目标文件都是用UTF-8定义的
下面是我用来启用gettext
的代码:
<?php
$dir = "../locale";
$lang="fr_FR";
$domain="messages";
putenv("LANG=$lang");
setlocale(LC_ALL, $lang);
bindtextdomain ($domain, $dir);
textdomain ($domain);
echo gettext("TEST 1") . "\n";
echo __("Test 2"); // works if using gettext("Test 2");
?>
编辑:我还在这里添加了我的页面标题,说明我应该使用UTF-8
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
编辑2:这里有一个。另外,我尝试在这里复制粘贴结果
R�gle plurielle 1可接近�标准
我应该
Règle plurielle 1无障碍标准
你知道如何解决这个问题吗?如果你忽略了重要信息,比如PO或MO文件本身,甚至是“接受未显示”的含义(省略?改为“基本”字符?乱码),你真的不可能确定你在哪里犯了什么错。一般来说:在任何地方(源代码、Poedit、服务器、HTML输出)都坚持使用UTF-8,你会没事的。@VáclavSlavík你是对的,我的错。我添加了一些额外的细节——在我看来,我在任何地方都在使用UTF-8。也许我编译
.mo
文件的设置有误?我不是专家,也不知道去哪里找。。!该文件显然不是上面示例中的文件。不,编译MOs不会更改编码。也许PHP正在进行转换,而您在代码中告诉它使用fr_fr locale,而不是fr_fr.UTF-8。@VáclavSlavík your ROCK-我正在使用fr_fr并更改为fr_fr.UTF-8完成了这项工作。。。我很高兴知道为什么这是。。。!