java - 哪个字符集用于 Apache Jackrabbit Filevault FS 中的文件名编码?
问题描述
对于使用Jackrabbit FileVault在 Sling / AEM 中导出的内容包,有一些文件名转义规则指定文件名不允许使用的字符使用 URL 编码进行编码,但规则没有指定使用哪个字符集。似乎至少在我使用 MacOS 和 Linux ISO-8859-1 或可能使用 Windows-1252 或类似的系统上。总是这样吗?或者它只是正确可怕的系统默认字符集?谢谢!
解决方案
事实证明,Vault FS仅对字符<>|"/?: 进行url 转义,这些字符在 Windows 中作为文件名无效。所有其他字符都不会转义。因此,当您使用外部字符时很容易遇到麻烦US-ASCII 因为 ZIP 程序不支持 Unicode 和文件系统不支持 Unicode。因此,在 JCR 节点名中使用非 US-ASCII 字符来表示文件夹名称、页面、在内容中作为文件名出现的文件可能是不明智的包裹。 :-(
在解码方面:百分比编码的序列被直接解码为 Java char - 因此低于 256 的百分比编码的 unicode 字符可以工作,但没有办法对超出该范围的字符进行百分比编码。
推荐阅读
- javascript - 使用 phabricator API 使用 javascript 创建 maniphest 任务
- opengl - 片段着色器中的“不正确的预处理器指令”?
- c# - 有更好的方法吗?
- datatables - 这个javascript语句做了什么样的赋值:var api = this.api(), data;
- swift - 如果在另一个标签栏控制器中更改了数据,如何正确更新表格单元格信息?
- google-apps-script - 从 Google 表格中的列表中查找所有可能的完整配对
- excel - 比 VLOOKUP 更快的方法来使用 VBA 在 excel 中比较两个数据集,1 有 180,000 个项目,其他 250,000
- asp.net-core - 外部身份提供者中的密码更改
- javascript - WebSocket `close` 与 `closed` readyState 有什么区别?
- r - geom_tile 填写混淆矩阵对应的值