起因


这几天我重新梳理了一下,放到Obsidian中的链接,发现进行过URL编码的链接无法打开了。
很奇怪,去年用Obsidian的时候还是能打开的。
例如我将:C:\Users\19770\OneDrive\一个思维导图.xmind ,进行URL编码,变为:


C%3a%5cUsers%5c19770%5cOneDrive%5c%e4%b8%80%e4%b8%aa%e6%80%9d%e7%bb%b4%e5%af%bc%e5%9b%be.xmind 
然后我在Obsidian中使用链接语法:
[11(C%3a%5cUsers%5c19770%5cOneDrive%5c%e4%b8%80%e4%b8%aa%e6%80%9d%e7%bb%b4%e5%af%bc%e5%9b%be.xmind) 
发现不能打开链接了,反而在本地创建了该名称的Markdown文件……


办法


我尝试把%3a 解码为: ,这样的话就能打开链接了,而且在Callout中也能打开该链接。
但是不能把%5c 替换为\ ,因为该符号会把后面的百分号% ,给转义了,也就是作用消失了。比如下图中OneDrive和一个思维导图中.xmind之间,\ 被转义了,所以路径中没有\,从而导致错误。


而在Logseq中,需要把%3a解码为:,再把%5c 替换为/ ,这样的话经过URL编码的链接就能正常打开了。
以上纯属一些经验之谈,没有进行过严格测试!!!


疑问


我不知道为什么Obsidian和Logseq中,如果输入\% ,这时% 会被转义,从而显示%
但是在Typora中就不会,\% 仍然是显示\%
难道% 有什么特殊的作用吗?需要转义一下,防止起到相应的作用?