我们有:
打开我们文件的网址以文件名称结尾,并在发送到用户界面之前以UTF-8编码:
server.com/path/my_file_name.doc
它与文件名完美配合,没有特殊字符,但有一个丑陋的网址,如
server.com/path/En-têtedelettre + capital 1 050 000€.doc
,我们的服务器无法访问该文件。 在堆栈跟踪中,我们可以看到服务器收到的URL是
server.com/path/En-têtedelettre + capital 1 050 000‬.doc
,但ms-word正在显示的错误消息包含正确的URL,所以我认为原始网址是正确的。
最后但同样重要的是:当服务器在Windows平台上运行时,它会起作用。
我想ms-word会在将url传输到服务器之前对其进行重新编码,但我无法猜测如何对其进行解码。
欢迎所有建议^^
答案 0 :(得分:1)
我是http://milton.io(java webdav服务器库)的作者,我发现了一个问题,MS客户端对某些网址的编码不正确,而milton有一些解决方法。您使用的是什么webdav框架/服务器?
然而,给出的示例看起来更像是错误,正如Marc B所建议的那样。您的服务器可能正在输出UTF-8中的propfind响应,但是Windows将其解释为win-1252。
因此,您应该查看响应标头并检查响应的字符编码,并检查它是否与PROPFIND响应中使用的实际编码相匹配。
请注意,早期版本的milton存在使用服务器默认编码但总是报告UTF-8的问题,因此在任何不使用UTF-8作为默认字符编码的服务器上都会出现此问题。