Как настроить 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.
Чтобы исправить это сообщение об ошибке, вы должны правильно установить текущую локаль