1

我使用 ASP.NET MVC 和 kendo ui 编辑器和 jquery ajax。

基本上,如果我在剑道 ui 编辑器中有一个 £ 字符,并使用 ajax 和以下代码将内容发布到服务器:

$.ajax({
    url: "/API/saveContent",
    data: "content=' + escape($("#textContent").data("kendoEditor").value()),
    type: "POST", dataType: 'json', async: false,
    success: function (data) {},
    error: function () { alert('ajax error'); }
});

我最终在服务器上得到的是一个 ? 字符而不是 £。

html 页面是 UTF-8,因此对服务器的 ajax 调用是 unicode 并且 javascript 转义函数不是以 unicode 方式工作,它只是使用扩展的 ascii 字符集并将 £ 编码为:%A3

javascript中有没有办法用unicode完成这个转义功能,我想我想最终得到:%C2%A3(我通过有一个UTF-8 html页面来解决这个问题,并将£放在一个文本框中并提交形式和提琴手它表明这是帖子请求正文中的内容)。

4

1 回答 1

1

你应该使用encodeURIComponent而不是escape

data: "content=" + encodeURIComponent($("#textContent").data("kendoEditor").value()),
于 2013-04-24T17:36:17.690 回答