首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php/iis/win7上的Gettext,字符集错误

问php/iis/win7上的Gettext,字符集错误
EN

Stack Overflow用户
提问于 2012-04-20 15:38:17
回答 2查看 701关注 0票数 2

我正在重构php 5.2.17中的一些旧应用程序,并将其转换为UTF-8字符集。应用程序使用gettext,但由于某些原因,gettext返回cp1250格式的数据(在win7和捷克国家环境中),即使所有文本现在都是UTF-8和目录文本。我从一开始就尝试在UTF-8中创建一个全新的字符集,重新启动IIS7.5,但仍然得到了错误的字符集(不是UTF-8,而是cp1250)。(我是win7的新手,在新的pc上,可能是在一些php配置中,mbstring和iconv已经将UTF-8设置为内部编码)

编辑:这是我的.po文件的头文件。我每次都会生成.mo:

代码语言:javascript
复制
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: _;gettext;gettext_noop\n"
"X-Poedit-Basepath: ../../../\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Poedit-Language: Czech\n"
"X-Poedit-Country: CZECH REPUBLIC\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-SearchPath-0: .\n"

所有代码和html报头现在都是utf-8。那任何IIS chache呢?但是重启IIS没有任何效果。

你知道哪里会出问题吗?谢谢你的回答。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-21 01:46:06

我找到了解决方案。在我的生活中,我第一次必须使用这个(通常我使用apache2):

代码语言:javascript
复制
bind_textdomain_codeset($domain, "UTF-8");

在IIS上,必须设置它,即使其他所有内容都写入并设置为UTF-8...

票数 1
EN

Stack Overflow用户

发布于 2012-04-20 16:13:36

您的.po / .mo gettext文件可能正在使用cp1250字符集。

尝试将其更改为UTF-8 (例如使用POEdit ),重新编译.mo文件并重新启动服务器。

如果这不起作用,让我们知道你是如何弄清楚输出字符集的,这可能是相关的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10242122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档