url破折号和下划线

我试图为Ajax网站推荐一种易于阅读的URL结构。我希望使用破折号或下划线代表多个单词。 例如:http://www.mysite/Kent-Smith/ 面临的挑战是,我们在系统中有一堆多个单词关键字,我们要按可能带有破折号或下划线的url进行过滤。 (我猜我们系统中的某些财务行情指示器确实使用下划线)。 我会停留在解码方面吗?我必须使用%20吗? 谢谢!     
已邀请:
我应该想到的是: 有指定的\“转义\”字符-this0ѭ(反斜杠)对此很常见 编码时,首先将所有的
\\
替换为
\\\\
,然后将所有
-
替换为
\\-
,然后将所有空格替换为破折号。 (这里的顺序很重要!) 解码时,首先将所有未加“ 0”的破折号替换为空格,然后将所有“ 4”用“ 3”替换,然后将所有“ 2”用“ 0”替换。 例如:假设您的名字是
Jo\\hn Smith-Jones
(我知道某人的名字中间不太可能有反斜线,但是...) 然后进行编码:将
\\
替换为
\\\\
Jo\\\\hn Smith-Jones
现在将
-
替换为
\\-
Jo\\\\hn Smith\\-Jones
现在用破折号代替空格:
Joh\\\\n-Smith\\-Jones
(最终结果) 确实会在编码结果的中间导致奇怪的反斜杠,但前提是首先存在标点符号,因此相对不常见。 等等,我刚想到的一件事。反斜杠可能不适用于URL,因此可能使用不同的字符-流程仍将完全相同,只需将反斜杠替换为其他字符即可。 快乐黑客!     
我建议您使用空格,在URL中将其编码为
+
,并保留连字符:   http://example.com/John+Smith-Jones/     

要回复问题请先登录注册