2012-04-19 2 views
1

ウェブサイトを翻訳していて、すべてうまくいきましたが、オンラインサーバ(Linux)にファイルを置くと、スペイン語での手紙は、このように表示されます 誰かが私はそれを修正する方法を知っていますか?utf-8エンコーディングの.moファイルは、Linuxサーバのアクセントのついた単語では機能しません。

+0

特定のプログラミング言語はありますか? –

答えて

0

likeのように表示されます。それがWebページにある場合は、翻訳が残りのHTMLと同じ文字セットにあり、その文字セットが適切に上に表示されていることを確認する必要があります。

+0

これは次のようになります:suscríbase(サイト内の単語)はsuscr baseのように表示されます。 – otavio

1

PHPを使用している場合は、bind_textdomain_codeset関数を追加して、moファイルがUTF-8(またはPOファイルで指定したもの)を返すことをシステムに通知する必要があります。だからこのような何かがトリックのはずです:

$language = 'de_DE'; 
bindtextdomain($language, APP_ROOT.'locale'); // Define domain 
textdomain($language); // Choose domain, translation is looking for in locale/de_DE/LC_MESSAGES/de_DE.mo now 
bind_textdomain_codeset($language, 'UTF-8'); // Tell the system out MO files will return UTF8 
+0

サーバーがUTF-8以外のロケールで実行されている場合は、正確に行う必要があります。サーバの環境のLC_CTYPEが例えばに設定されている場合'en_US.UTF-8'はデフォルトでうまくいくはずです。 –

0

私は同じ問題があるようです。 記号を解決できません。

私はhtml(utf-8)の先頭に正しく設定された文字セットを持っており、.poファイルもutf-8です。 bind_textdomain_codesetコマンドを試しましたが、うまくいきませんでした。

サーバーはLinuxです。

【解決済み】

この行の追加: bind_textdomain_codeset( "デフォルト"、 "UTF-8");

言語ドメインではなく、デフォルトのnoteです。ワンダー理由..

関連する問題