Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http 我应该如何清理URL以使人们不';t put漢字;或á;或者其他的东西?_Http_Url_Usability - Fatal编程技术网

Http 我应该如何清理URL以使人们不';t put漢字;或á;或者其他的东西?

Http 我应该如何清理URL以使人们不';t put漢字;或á;或者其他的东西?,http,url,usability,Http,Url,Usability,我应该如何清理URL以便人们不会漢字 或者其他的东西 编辑:我正在使用java。url将根据用户在表单上提出的问题生成。看起来StackOverflow刚刚删除了冒犯的角色,但它也将aá变成了a 有这样做的标准惯例吗?还是每个开发人员只编写自己的版本?是的,我会清理/删除。它要么不一致,要么看起来很难看 使用Java查看 小心!如果要删除诸如奇数字符之类的元素,那么两个不同的输入可能会在无意中产生相同的剥离URL URL规范(RFC 1738194年12月)提出了一个问题,因为它将URL中允许的

我应该如何清理URL以便人们不会漢字 或者其他的东西

编辑:我正在使用java。url将根据用户在表单上提出的问题生成。看起来StackOverflow刚刚删除了冒犯的角色,但它也将aá变成了a


有这样做的标准惯例吗?还是每个开发人员只编写自己的版本?

是的,我会清理/删除。它要么不一致,要么看起来很难看

使用Java查看

小心!如果要删除诸如奇数字符之类的元素,那么两个不同的输入可能会在无意中产生相同的剥离URL

URL规范(RFC 1738194年12月)提出了一个问题,因为它将URL中允许的字符的使用限制为US-ASCII字符集的有限子集

这意味着它将被编码。URL应该是可读的。标准倾向于偏向英语(那是什么?语言主义者?语言主义者?)

不知道其他国家的惯例是什么,但如果我看到发送给我的URL中有大量的编码,我会认为这是愚蠢或可疑的

除非链接正确显示,由浏览器编码并在另一端解码。。。但是你想冒这个险吗

StackOverflow似乎只是将这些字符一起从URL中删除:)


StackOverflow可以移除 字符,因为它包含 URL中的问题ID。鼻涕虫 包含问题标题的是 方便,并且没有实际使用 在现场,阿法克。比如你 可以移除段塞,连杆将 仍然可以正常工作:问题ID是 重要的是一个简单的机制 使链接唯一,即使两个 不同的题目会产生不同的答案 同样的鼻涕虫。事实上,你可以验证 通过尝试去 … 它会带你回到这个话题 页面


谢谢你说的是哪种语言? 在PHP中,我认为这是最简单的,可以解决所有问题:


您描述的过程是
slagify
。做这件事没有固定的机制;每个框架都以自己的方式处理它。

请澄清。你是说你接受用户输入的URL,并且你需要确保它们是ASCII码吗?我理解它的意思是-我应该从路由中吐出一个错误,或者404,或者其他什么,而不是接受一个带有该标题的博客条目。StackOverflow可以删除字符,因为它在URL中包含问题ID。包含问题标题的slug是为了方便起见,而不是由网站AFAIK实际使用的。例如,您可以删除slug,链接仍然可以正常工作:问题ID很重要,是使链接唯一的简单机制,即使两个不同的问题标题生成相同的slug。实际上,您可以通过尝试转到来验证这一点,它将带您返回此页面。@Mike,是的。。。我应该在我的帖子中提到这一点。引用你的话:)@Mike,觉得这很合适