gettext .mo文件问题

时间:2014-06-17 14:39:28

标签: php encoding localization

我创建了一个he_IL.po文件,编辑了一个简单的'Hello World'条目,它运行得很好(我的服务器有所有的语言环境,翻译工作......)事情是它没有显示非-latin chars(格式希伯来语/中文),我添加了一个header('Content-Type: text/html; charset=utf-8');但我还没有看到正确的字符。你可以在http://postimg.org/image/4zn4m107z/看到输出样本 它应该说Translated text with some עברית(其中עברית=希伯来语)

这是我的示例代码:         header('Content-Type:text / html; charset = utf-8');

    $locale = 'he_IL';

    setlocale(LC_ALL,$locale);
    bindtextdomain("messages",'./locale');
    textdomain("messages");
    echo gettext("Hello World");

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我不想说"尝试"在答案中,但gettext有时可能有点变幻无常,所以...尝试:

  • bind_textdomain_codeset('messages', 'UTF-8'),告诉gettext使用UTF-8
  • setlocale(LC_ALL, 'he_IL.UTF-8'),或he_IL.utf8或您的服务器上安装的任何其他变体;在命令行上使用$ locale -a来计算出来

语言环境也有不同的编码,默认情况下he_IL语言环境可能不是UTF-8。