LINUX.ORG.RU

Кодировка при работе с svn_cat(), Нужна помощь!

 ,


0

1

Здравствуйте, уважаемые знатоки php!

Помогите, пожалуйста, решить проблему.

Имеется svn-сервер на котором хранятся исходные тексты, есть web-сервер на котором крутится сайт. Задача сделать web-обозреватель содержимого репозитория svn (наподобие websvn, только совсем узкой направленности). За основу взял svnBrowse 0.1 - одна страничка делающая все что нужно. Все основное выполняется двумя функциями svn_ls() и svn_cat(). Проблема с русскими путями до файлов в репозитории. При отправки запроса svn_cat() выдает:

[phpBB Debug] PHP Warning: in file /var/www/mysite/sview.php on line 70: svn_cat(): svn error(s) occured 22 (Invalid argument) Can't convert string from native encoding to 'UTF-8': 22 (Invalid argument) http://172.16.25.22/svn/Texts/002.?/208?/154?/208?/190?/208?/188?/208?/191?/2...

Все полезное из гугла перепробовал - не помогает. Может кто-то сталкивался в похожим. Спасибо!



Последнее исправление: cetjs2 (всего исправлений: 1)

Up. Проблема актуальна. Может быть у кого-нибудь появятся мысли.

Norfolk
() автор топика
28 июля 2013 г.

Решено:)

Оказалось все просто: кириллическое имя файла (путь), используемое функциями svn_ls(), svn_cat(), svn_log() и т.д., должно быть закодировано urlencode(). Однако, у urlencode() оказалась проблема с передачей пробелов. Решением было использовать rawurlencode (); И всего-то)

Norfolk
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.