4

メールを送信するためにphpスクリプトを呼び出すsvnフックを作成しました。問題は、エンコードされたメッセージが正しくないことです (それはあなたがそれを呼ぶことができると思います)

これは私がメールで受け取るものです:

変更されたファイル - /base/view.php

Mais umas actualiza?\195?\167?\195?\181es

これは、フックがスクリプトを呼び出すときに得られるものです。しかし、(リビジョンを指定して) スクリプトを直接呼び出すと、次のようになります。

変更されたファイル - /base/view.php

Mais umas actualizações

メールは iso-8859-1 エンコーディングで送信されます (utf-8 を試しても同じ結果が得られました)

これを修正するために私が何を使用/実行できるか知っている人はいますか?
ありがとう

4

2 に答える 2

4

post-commit フックで LANG をエクスポートする必要があります。そうしないと、svnlook は SVN ユーザーに設定されているロケールでログを出力します。

(コミット後、スクリプトの呼び出し前)

export LANG="fr_FR.UTF-8"

もちろん、utf8 である限り、必要なロケールに合わせて調整することもできます。

于 2010-10-29T15:17:14.947 に答える
0

おそらく、実行環境のロケールと関係があります。自分で実行すると、ロケールにあり、おそらく特殊文字を正しく処理します。

フックは Subversion サーバー ロケールで実行されると思われます。これは、'C' ロケールまたはこれらの文字の処理方法がわからないロケールである可能性があります。

于 2010-02-07T18:40:23.460 に答える