Как настроить mod_dav_svn локаль под apache2?

Я установил и сконфигурировал ВСЕ apache2 & mod_dav_svn, но когда получил доступ к http://host/svn/, получил это:

ps: /mnt/svn/ является партией всех репозиториев svn. и репозитории уже названы с использованием utf8.

os: сервер ubuntu 11.10 64bit apache2 -v Версия сервера: Apache/2.2.20 (Ubuntu) Сервер построен: 14 февраля 2012 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.UTFATE-8" LC "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="zF_NC 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

[Ср 29 Фев 14:54:34 2012] [заметка] Apache/2.2.20 (Ubuntu) DAV/2 SVN/1.6.12 настроен - возобновление нормальной работы

[Среда, 29 февраля 14:54:42 2012] [ошибка] [клиент] Невозможно доставить контент. [500, #0] [Ср. 29 февраля 14:54:42 2012] [ошибка] [клиент *] не смог получить указания SVNParentPath [500, # 22]

[Ср 29 Фев 14:54:42 2012] [ошибка] [клиент *] Ошибка преобразования записи в каталоге '/mnt/svn' в UTF-8 [500, # 22]

[Wed Feb 29 14:54:42 2012] [ошибка] [клиент *] Не удалось преобразовать строку из собственной кодировки в 'UTF-8': [500, # 22]

[Среда, 29 февраля 14:54:42 2012] [ошибка] [клиент *]?\231?\160?\148?\229?\143?\145?\233?\131?\168?\231?\174?\161?\231?\144?\134 [500, #22]

2 ответа

Решение

Отредактируйте /etc/apache2/envvars, измените LANG с C на настройку языка вашей локали.

Я сделал следующую модификацию, затем перезапустил apache2, больше никаких проблем.

экспорт LANG=C -> экспорт LANG="en_US.UTF-8"

У вас где-то нет поддержки вашего zh_CN.UTF-8. Может быть:

  • Ubuntu

проверить читаемость ls /mnt/svn/

  • апаш

создать местоположение только для http, добавить к нему некоторые zh_CN.UTF-8 именованные файлы и каталоги, отключить DirectoryIndex и проверить результат в браузере на удобочитаемость

Полагаю, тест № 2 будет неудачным

редактировать

Из книги подрывной деятельности:

Подобные ошибки обычно возникают, когда клиент Subversion получил строку UTF-8 из хранилища, но не все символы в этой строке могут быть представлены с использованием кодировки текущей локали. Например, если ваша локаль en_US, но соавтор зафиксировал японское имя файла, вы, вероятно, увидите эту ошибку, когда получите файл во время обновления svn.

Чтобы исправить это сообщение об ошибке, вы должны правильно установить текущую локаль

Другие вопросы по тегам