4

我创建了一个 svn 钩子,它调用一个 php 脚本来发送一些电子邮件。问题是我得到了不正确的编码味精(我认为这就是你可以称之为的)

这是我在邮件中得到的:

修改文件 - /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 用户设置的语言环境中输出 de log:

(在提交后,在调用您的脚本之前)

出口 LANG="fr_FR.UTF-8"

当然,您可以根据需要调整语言环境,只要它是 utf8 即可。

于 2010-10-29T15:17:14.947 回答
0

它可能与执行环境的语言环境有关。当您自己运行它时,它在您的语言环境中,并且可能正确处理特殊字符。

我怀疑钩子是在颠覆服务器语言环境中执行的,它可能是“C”语言环境或一些不知道如何处理这些字符的语言环境。

于 2010-02-07T18:40:23.460 回答