我已经创建了一个he_IL。po文件,编辑了一个简单的'Hello World'
条目,它工作得很好(我的服务器有所有的区域设置,翻译工作……)问题是它没有显示非拉丁字符(检查希伯来语/中文),我添加了一个header('Content-Type: text/html; charset=utf-8');
,但我仍然没有看到正确的字符。您可以在http://postimg.org/image/4zn4m107z/上看到输出示例应该是Translated text with some עברית
(这里的"= hebrew)
这是我的示例代码:头('的content - type: text/html;charset = utf - 8 ');
$locale = 'he_IL';
setlocale(LC_ALL,$locale);
bindtextdomain("messages",'./locale');
textdomain("messages");
echo gettext("Hello World");
任何想法?
我讨厌在回答中说"尝试",但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。