将UTF 8字符串转换为URL(ajax)

时间:2011-09-14 12:29:16

标签: javascript jquery ajax utf-8

我有一个字符串,例如,可能包含特殊字符(+=&等等...):

"Írja ide kérdését, majd üssön entert!"

我想将它转换为XHR的URL可接受字符串(因为IE不会自动执行):

"%C3%8Drja%20ide%20k%C3%A9rd%C3%A9s%C3%A9t,%20majd%20%C3%BCss%C3%B6n%20entert!"

这有什么javascript功能吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

您应该使用encodeURI功能:

encodeURI("Írja ide kérdését, majd üssön entert!");
// => "%C3%8Drja%20ide%20k%C3%A9rd%C3%A9s%C3%A9t,%20majd%20%C3%BCss%C3%B6n%20entert!"

答案 1 :(得分:1)

您添加了+标志。

要对此加号进行编码,请使用encodeURIComponent功能:

encodeURIComponent("+Írja ide kérdését, majd üssön entert!");
// => "%2B%C3%8Drja%20ide%20k%C3%A9rd%C3%A9s%C3%A9t%2C%20majd%20%C3%BCss%C3%B6n%20entert!"

检查this thread,了解有关escapeencodeURIencodeURIComponent功能之间差异的更多信息。