2010-02-06 65 views
4

我創建了一個svn鉤子,它調用一個php腳本來發送一些郵件。 的問題是,我得到不正確編碼味精的(我認爲這是什麼,你可以稱呼它)Svn鉤子編碼問題

這是我在我的郵件得到:

修改的文件 - /base/view.php

MAIS UMAS actualiza?\ 195?\ 167?\ 195?\ 181es

這是我得到當鉤子調用腳本。 但是,如果我直接調用腳本(指定修訂)我得到這樣的:

修改的文件 - /base/view.php

MAIS UMASactualizações

郵件發送用iso-8859-1編碼(嘗試utf-8並得到相同的結果)

任何人都知道我可以使用/做什麼來糾正?
謝謝

+0

如果您粘貼鉤子和PHP腳本的相關部分將會很有幫助。 – 2010-02-07 04:12:48

+0

如果您發佈了兩封電子郵件的十六進制轉儲文件,這也會很有幫助 - 缺少的/額外的字節肯定會幫助人們弄清楚。 – JXG 2010-02-07 09:49:25

+0

@JXG如何從gmail郵件獲取十六進制轉儲? – AntonioCS 2010-02-07 18:03:55

回答

0

它可能與執行環境的區域設置有關。當你自己運行時,它在你的語言環境中,並且可能正確處理特殊字符。

我懷疑在Subversion服務器locale中執行了鉤子,這可能是'C'語言環境或某些不知道如何處理這些字符的語言環境。

+0

謝謝。我會檢查出 – AntonioCS 2010-02-07 22:37:18

4

您需要將LANG出口在post-commit鉤子,否則svnlook的意志輸出去日誌中,它被設置爲您的SVN用戶的語言環境:

(在提交後,調用你的腳本前)

出口LANG = 「fr_FR.UTF-8」

當然,你可能會調整到你所需要的語言環境,只要它是UTF8。

+0

這對我有用,thx :) – soywod 2016-10-20 07:25:14