国际性问题

时间:2011-02-15 03:17:04

标签: php utf-8 gettext

即使php页面的标题设置为UTF-8,我也会收到此错误

error

这是元标记

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

文本来自php gettext。

我该如何解决这个问题?

感谢

1 个答案:

答案 0 :(得分:3)

当输出来自gettext时,输出可能在ISO-8859-1中编码。虽然您可以使用utf8_encode()手动转换它,但gettext有一个内置功能,可以自动执行此操作。

在此处查看用户评论: http://www.php.net/manual/en/function.bind-textdomain-codeset.php#67200

在您的情况下,您需要:

bind_textdomain_codeset($domain, "UTF-8");

显然,如果您的gettext .mo文件也以UTF-8编码,那将是最好的。

如果这还没有帮助,请尝试使用setlocale("de_DE.UTF-8")putenv("LC_MESSAGES", "de_DE.UTF-8")LANG=或类似方式覆盖区域设置。