subversion-1.8.17+apache2.2.32   http无法访问中文仓库名

SVN从Windows迁移到linux

在搭建好环境后,中文名字的仓库无法通过http访问

命令行测试正常

svn  co svn://xx.xx.xx.xx/测试

但是通过http就不行

svn  co http://xx.xx.xx.xx/测试

查看Apache 错误日志

发现错误

(20014)Internal error (specific information not available): Can‘t convert string from ‘UTF-8‘ to native encoding:

(20014)Internal error (specific information not available): /webapp/svndata/?\\230?\\150?\\135?\\228?\\187?\\182?\\230?\\136?\\150?\\231?\\155?\\174?\\229?\\189?\\149/format

无法将中文UTF-8转码

有人说是 错误数字都不大于255,应该是ASCII编码只转了7位,高位的丢失了。

搜索了N多解决方案都不行,还以为是个BUG

最后在官网找到答案

http://svnbook.red-bean.com/en/1.8/svn.serverconfig.httpd.html#svn.serverconfig.httpd.ref.mod_dav_svn

  • SVNUseUTF8 On|Off
  • When set to On, mod_dav_svn will communicate with hook scripts using repository root paths encoded in UTF-8, and will expect those scripts to likewise generate output (such as error messages) encoded in UTF-8. The default value of this option is Off, which means that mod_dav_svn assumes a 7-bit ASCII encoding for its hook script interactions. This option is available as of Subversion 1.8.

    Administrators should ensure that the character set and encoding expectations of hook scripts match all the ways they might be invoked. For example, if one repository is served by both httpd and svnserve, svnserve should also be configured to use UTF-8 (by setting an appropriate locale in its environment) if this option is enabled for mod_dav_svn. Also, local filesystem paths containing non-ASCII characters which will be accessed by those scripts (such as repository root paths) must be properly encoded in the filesystem to match the scripts‘ expectations.

最后,在apache的配置文件httpd.conf里添加

<IfModule mod_dav_svn.c>

SVNUseUTF8  On

</IfModule>

重启apache,问题解决!!

当然 这个参数只在1.8版本中有效。

时间: 2024-08-26 06:27:55

subversion-1.8.17+apache2.2.32   http无法访问中文仓库名的相关文章

Apache-2.2.32安装配置

Apache-2.2.32安装配置   一.Apache服务安装 1.创建目录,下载Apache源码包 [[email protected] ~]# mkdir/home/wangning/tools -p [[email protected] ~]# cd/home/wangning/tools [[email protected] tools]# wgethttp://mirror.bit.edu.cn/apache/httpd/httpd-2.2.32.tar.gz 2.解压,安装Apac

2016/07/07 wamp中apache2.4.9允许外部访问的配置 重点是版本 版本不同配置效果不同

wamp安装包中安装好服务器之后只能使用127.0.0.1来访问了,如果我们要设置多个站点或其它像192.168.1.1这种就需要进行一下修改,具体步骤如下. wamp-apache2.4.9允许外部访问的配置,apache2.2配置外网访问的方法跟apache2.4.9的有点不同 apache2.2配置方法: 打开apache目录下的httpd.conf配置文件,找到关键字:”deny from”,会发现一处 “deny from”下有一行”Allow from 127.0.0.1″ ,然后将

32位程序访问64位系统上的Windows注册表

今天在工作的过程中遇到个奇怪的为问题,就是通过c#获取注册表键值的问题,一般都比较简单: string SQLPath = string.Empty; RegistryKey hkml = Registry.LocalMachine; RegistryKey MSSQLServerKey = hkml.OpenSubKey(@"SOFTWARE\MICROSOFT\MSSQLServer"); if (MSSQLServerKey != null) { string[] keys =

Ubuntu 14.10 安装subversion 1.6.17版本

安装了ubuntu-14.10版本后发现默认安装subversion 1.8. 而1.8版本与目前XP上使用的1.6版本无法兼容,网上搜索了下发现使用1.8版本的人并不多,为了避免开发环境切换带来的开销,暂不想将XP下也升级到1.8. 那只能ubuntu上安装1.6. 1.下载subversion-1.6.17.tar.gz http://download.csdn.net/detail/sunwill_chen/8354589 2.下载subversion-deps-1.6.17.tar.bz

32期脱产班的一名学生的决心书

我是来自山西临汾的一名刚毕业的高中生,我叫郑京波,没有考上好的大学,父母不想让我浪费钱在大学里面混日子,所以就没让我上大学.因为这样我的心里一直很难受,总认为不上大学感觉就像是一种屈辱.所以我就开始各种的网吧过日子,荒废自己,一直放浪形骸,谁的话也不听. 如果一个人放弃自己那么别人也会放弃你.在外边疯的日子我碰到了很多人和事,也知道了一些人情冷暖,也回想起自己的梦想,竟然被自己抛到脑后,感觉真是没脸在见自己的家人.所以我不想放弃自己了,再也不能. 我决定从现在开始振作自己,树立良好的形象,在学会

Win8.1 MSDN各版本下载(64位/32位,简体中文,繁体中文,英文),X86&amp;X64,EN,CHS,CHT

英文64位ed2k://|file|en_windows_8_1_x64_dvd_2707217.iso|3899295744|8E604054013D21209B851E41DC19F6F5|/ 英文32位ed2k://|file|en_windows_8_1_x86_dvd_2707392.iso|2915131392|CC72E0D238F94071A5104EAF8F0CEEC3|/ 简体中文64位ed2k://|file|cn_windows_8_1_x64_dvd_2707237.i

apache2.4设置外网访问问题

Apache 从2.2升级到 Apache2.4.x 后配置文件 httpd.conf 的设置方法有了大变化,以前是将 deny from all 全部改成 Allow from all 实现外网访问,现在是将 Require all denied 以及 Require local 都该为 Require all granted 就可以了. .htaccess 如果不起作用将 LoadModule rewrite_module modules/mod_rewrite.so 前面的注释(#)去掉就

Wamp2.5(Apache2.4.9)外网访问403(Forbidden)错误

把wamp配置到Azure上之后,倒腾好久都没有解决403错误问题,网上百度了很多资料,差不多都是这样修改的: 1.在C:wamp/bin/apache/apache2.4.9/conf目录下找到"httpd.conf"文件(建议先备份一下) 2.将"httpd.conf"下240行处的: <Directory /> AllowOverride All    OptionsNone    Orderallow,deny    Deny from all&

C# 32位程序访问64位注册表

接上文:http://www.cnblogs.com/TaiYangXiManYouZhe/p/5086974.html 上代码: RegistryKey localKey; if (Environment.Is64BitOperatingSystem) localKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64); else localKey = RegistryKey.OpenBa