接续自 Rich Text Editor 中粘贴的 URL 未正确转义波浪号字符 的讨论:
重现步骤:
我在编辑器中粘贴了上面的 URL:
https://frinklang.org/fsp/solve2.fsp?equations=a+%3D+3+b+%2B+c&solveFor=&f=&ev=on&sel_a=S&val_a=&sel_b=S&val_b=&sel_c=L&val_c=299792458+m+s%5E-1&resultAs=
点击链接后应有的正确响应是:
但 Discourse 渲染后的该 URL 是:
https://frinklang.org/fsp/solve2.fsp?equations=a%2B%3D%2B3%2Bb%2B%2B%2Bc&solveFor=&f=&ev=on&sel_a=S&val_a=&sel_b=S&val_b=&sel_c=L&val_c=299792458%2Bm%2Bs%5E-1&resultAs=
注意 %2B 替换了 + 字符。这导致失败,并产生以下结果:
测试超链接工具:
Discourse 链接工具渲染的 URL:
https://frinklang.org/fsp/solve2.fsp?equations=a%2B%3D%2B3%2Bb%2B%2B%2Bc&solveFor=&f=&ev=on&sel_a=S&val_a=&sel_b=S&val_b=&sel_c=L&val_c=299792458%2Bm%2Bs%5E-1&resultAs=
这也会失败,显示如下:
我不完全确定哪里出了问题,但我认为问题在于 + 字符,它本应是空格,却被错误地处理成了字面上的加号。
在 URL 中使用 + 代表空格是符合标准的,所以这可能也影响了以这种方式使用 + 字符的其他网站/系统。


