encodeURIcomponent不用正确的编码字符替换字符

时间:2014-01-30 20:34:48

标签: javascript percent-encoding

当我这样做时:

encodeURIComponent('Cancún, Mexico');

它返回:

Canc%C3%BAn%2C%20Mexico

根据这个: http://www.degraeve.com/reference/urlencoding.php

字符:ú应为%FA,而不是%C3%BA,为什么会这样,如何解决此问题而无需进行大量字符串替换?

1 个答案:

答案 0 :(得分:0)

  

根据这个:http://www.degraeve.com/reference/urlencoding.php字符:ú应该是%FA但是它的%C3%BA为什么会这样,如何在不进行大量字符串替换的情况下解决这个问题?

你根本不需要修理任何东西。根据{{​​3}}(更相关,https://en.wikipedia.org/wiki/Percent-encoding):

  

首先应根据UTF-8字符编码将数据编码为八位字节,然后只对这些八位字节进行百分比编码。

因此,%C3%BAú的完全正确的编码,它不是来自未保留的ASCII范围的字符。