我创建了一个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");
有什么想法吗?
答案 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。