encodeURIComponent和encodeURI

时间:2013-05-20 17:24:18

标签: javascript utf-8 character-encoding

我正在尝试对网址中的法语字符进行编码。

网址是用javascript构建的,然后我使用window.open打开网址。

例如,

var alt_title='Thierry Frémaux: Les confiden'
  1. window.open('http://example.com/alt_title'=+encodeURIComponent(altCatTit));

  2. window.open(encodeURI('http://example.com/alt_title='+encodeURIComponent(altCatTit))

  3. 1。执行时,我看不到新弹出网址中的法语字符被编码。

    2。执行时,我确实看到它们正在编码。

    您能否告诉我为什么我需要对它们进行两次编码才能使它们在新弹出窗口的URL中显示为编码?

    这是在URL中编码特殊字符的正确方法吗?

    修正了拼写错误!

2 个答案:

答案 0 :(得分:0)

你正在寻找这个吗?

var s = 'Thierry Frémaux: Les confiden'
var url = 'http://example.com/?alt_title=' + encodeURIComponent(s)

答案 1 :(得分:0)

encodeURIComponent():假定其参数是URI的一部分(例如协议,主机名,路径或查询字符串)。因此,它会转义用于分隔URI部分的标点字符。

encodeURI():用于编码现有网址