非ASCII字符的Url编码

非ASCII字符的Url编码,url,urlencode,Url,Urlencode,我理解在某些情况下我们为什么要对保留字符进行url编码。 例如,如果我们这样写:http://example.com/somepage?searchText=abc&maxResults=10 上面的URL向服务器传输两条信息: searchText=abc maxResults=10 这是因为我们在url中有保留字符: 但是如果我们想传达文本​​​​​​​满足于以下价值: searchText=abc&maxResults=10 我们需要使用url编码 http://example.com/

我理解在某些情况下我们为什么要对保留字符进行url编码。 例如,如果我们这样写:
http://example.com/somepage?searchText=abc&maxResults=10

上面的URL向服务器传输两条信息:

searchText=abc

maxResults=10

这是因为我们在url中有保留字符:

但是如果我们想传达文本​​​​​​​满足于以下价值:

searchText=abc&maxResults=10

我们需要使用url编码

http://example.com/somepage?searchText=abc%26maxResults%3D10


但是我不明白为什么ASCII字符集之外的任何字符都应该是url编码的?(例如,西里尔语符号如“ППз”或中文等)

我似乎找到了答案:

对于包含非ASCII字符的原始字符序列, 然而,情况更加困难。互联网协议 传输用于表示字符序列的八位字节序列 如果需要,将提供某种方法来标识所使用的字符集 可能有多个[RFC2277]。然而,目前还存在一些问题 通用URI语法中没有实现这一点的规定 识别单个URI方案可能需要一个 字符集,定义默认字符集,或提供指示 使用字符集