0

我已经安装并配置了所有 apache2 和 mod_dav_svn,但是当访问http://host/svn/时,得到了这个:

ps:/mnt/svn/是所有svn repos的解析器。并且 repos 已经使用 utf8 命名。

操作系统:ubuntu 11.10 服务器 64bit apache2 -v 服务器版本:Apache/2.2.20 (Ubuntu) 服务器构建:2012 年 2 月 14 日 16:35:38

语言环境:也在 /etc/apache2/envvars 中导出 LANG=zh_CN.UTF-8 LANGUAGE=zh_CN LC_CTYPE="zh_CN.UTF-8" LC_NUMERIC="zh_CN.UTF-8" LC_TIME="zh_CN.UTF-8" LC_COLLATE= "zh_CN.UTF-8" LC_MONETARY="zh_CN.UTF-8" LC_MESSAGES="zh_CN.UTF-8" LC_PAPER="zh_CN.UTF-8" LC_NAME="zh_CN.UTF-8" LC_ADDRESS="zh_CN.UTF- 8" LC_TELEPHONE="zh_CN.UTF-8" LC_MEASUREMENT="zh_CN.UTF-8" LC_IDENTIFICATION="zh_CN.UTF-8" LC_ALL=zh_CN.UTF-8

[2012 年 2 月 29 日星期三 14:54:34] [通知] Apache/2.2.20 (Ubuntu) DAV/2 SVN/1.6.12 已配置 -- 恢复正常操作

[2012 年 2 月 29 日星期三 14:54:42] [错误] [客户端] 无法交付内容。[500, #0] [Wed Feb 29 14:54:42 2012] [error] [client *] 无法获取 SVNParentPath [500, #22] 的目录

[2012 年 2 月 29 日星期三 14:54:42] [错误] [客户端 *] 将目录“/mnt/svn”中的条目转换为 UTF-8 时出错 [500,#22]

[2012 年 2 月 29 日星期三 14:54:42] [错误] [客户端 *] 无法将字符串从本机编码转换为“UTF-8”:[500,#22]

[2012 年 2 月 29 日星期三 14:54:42] [错误] [客户端 *] ?\231?\160?\148?\229?\143?\145?\233?\131?\168?\231?\ 174?\161?\231?\144?\134 [500, #22]

4

2 回答 2

1

编辑 /etc/apache2/envvars,将 LANG 从 C 更改为您的语言环境设置。

我做了以下修改,然后重新启动了apache2,没有问题了。

导出 LANG=C --> 导出 LANG="en_US.UTF-8"

于 2013-11-09T15:33:32.247 回答
0

您的 zh_CN.UTF-8 不支持。有可能:

  • Ubuntu

检查可读性ls /mnt/svn/

  • 阿帕奇

创建仅限 http 的位置,添加一些 zh_CN.UTF-8 命名的文件和目录,禁用 DirectoryIndex 并在浏览器中验证结果以提高可读性

我想,测试#2会失败

编辑

从颠覆书中:

当Subversion 客户端从存储库接收到 UTF-8 字符串时,通常会发生此类错误,但并非该字符串中的所有字符都可以使用当前语言环境的编码来表示。例如,如果您的语言环境是 en_US,但合作者提交了一个日语文件名,那么当您在 svn 更新期间收到该文件时,您可能会看到此错误。

要修复此错误消息,您必须适当地设置当前语言环境

于 2012-02-29T08:44:18.333 回答