2012-04-20 9 views
2

私はPHP 5.2.17で古いアプリケーションをリファクタリングして、それをUTF-8文字セットに変換しています。 Appはgettextを使用しますが、何らかの理由でgettextはすべてのテキストがUTF-8とカタログテキストになっていてもcp1250(win7 witch czech national環境)のデータを返します。私は最初からUTF-8で新しいブランドを作成しようとしましたが、IIS7.5を再起動しましたが、まだ間違った文字セット(UTF-8ではなくcp1250)を取得しています。 (私はwin7で新しい、新しいPCで、多分それはいくつかのPHP設定で、mbstringとiconvは内部エンコーディングとしてUTF-8を設定しています)これは私の.poファイルのヘッダです。毎回繰り返します:php/iis/win7のGettext、間違った文字コード

"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チャーチはどうですか?しかし、IISの再起動は問題ありません。

何が間違っている可能性がありますか? ありがとうございました。

答えて

1

解決策が見つかりました。私のライブで初めて、私は(通常、私はapache2のを使用しています)、これを使用する必要があります。他のすべてが書かれており、UTF-8に設定されている場合でも、それを設定する必要がありますIIS上

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

...

0

.po/.mo gettextファイルはおそらく文字セットを使用しています。

UTF-8に変更して(例えばPOEditで)、.moファイルを再コンパイルしてサーバーを再起動してください。

これでうまくいかない場合は、出力文字セットをどのように把握しているかをお知らせください。関連性があります。

+0

私が持っています私のオリジナルのポストを詳細に編集しました... – Fanda

関連する問題