apache认为client传来的webdav请求是utf-8的编码,但对中文来说实际上更多是gb编码。
mod_encoding是日本人做的一个产品,解决了apache针对webdav的编码支持问题。

mod_encoding支持apache1.3和apache2,在debian上有对应的包libapache2-mod-encoding。配置参数包括:

EncodingEngine (on|off)
编码转换引擎开关
SetServerEncoding
设置服务器文件系统的编码
AddClientEncoding [ ...]
设置某个客户端请求代理的编码

DefaultClientEncoding
缺省的客户端编码清单

NormalizeUsername (on|off)
是否规范话用户名。Windows平台上(特别是WinXP)认证的适合传递的用户名格式是"hostname\\username",这个不标准,自动去除hostname。
典型的配置如:
LoadModule encoding_module modules/mod_encoding.so
<Location /dav>
EncodingEngine on
NormalizeUsername on
</Location>
SetServerEncoding UTF-8
DefaultClientEncoding UTF-8 gb18030 big5
AddClientEncoding "Microsoft .* DAV 1.1" gb
AddClientEncoding "(Microsoft .* DAV $)" UTF-8 gb18030 big5
AddClientEncoding "Microsoft .* DAV" UTF-8 gb18030 big5
AddClientEncoding "(Microsoft .* DAV 1.1)" gb18030 big5
AddClientEncoding "Microsoft-WebDAV*" UTF-8 gb18030
AddClientEncoding "RMA/*" gb18030
AddClientEncoding "xdwin9x/" gb18030
AddClientEncoding "cadaver/" UTF-8 gb18030
AddClientEncoding "Mozilla/" gb18030

mod_encoding对中文用户很重要,但目前几乎没有中文资料。原始网站也是日文的,也没有太多英文文档,只有去看源代码,抓出这个文档
同时发现了一个中日文翻译工具,虽然翻译出来的东东实在不怎么样。
文章来源: 本站原创 引用(0) 阅读(1325)
 
对《mod_encoding:让apache的webdav支持中文文件名》有 0 条评论
发表评论
昵称

网址

电邮
打开HTML 打开UBB 表情 打开表情 隐藏 记住我 [注册]