非ASCII字符的Url编码
我理解在某些情况下我们为什么要对保留字符进行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/
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方案可能需要一个 字符集,定义默认字符集,或提供指示 使用字符集