PHP gettext和非ANSII章程


PHP gettext and non-ANSII charters

我有一个PHP web应用程序,它最初是波兰语的。但我被要求把它翻译成俄语。我决定使用gettext。但当我试图翻译带有波兰特殊字符的字符串时,我遇到了问题。例如:

echo gettext('Urządzenie');

在网络浏览器中显示"Urzńdzenie",而不是俄语单词。所有文件都是用UTF-8编码的,.po文件是用--from代码UTF-8生成的。没有波兰语特殊字符(如)的翻译

echo gettext('Instrukcja');

工作良好。你知道这种奇怪行为的原因是什么吗?

确定PHP文件是UTF-8格式的吗?要验证,请尝试以下操作:

echo bin2hex('Urządzenie');

您应该看到以下字节:

55 72 7a c4 85 64 7a 65 6e 69 65