gpt4 book ai didi

javascript - UTF-8 符号在插入到 dom 时被转换

转载 作者:行者123 更新时间:2023-11-29 19:05:42 25 4
gpt4 key购买 nike

我有以下问题,我正在构建使用来自 ajax 调用的数据流的应用程序,因此即将到来的数据在 json 字符串中转义。

示例:1°Set

当我将该数据插入 DOM 时,它会像这样转换:1°Set

我不使用任何库,例如 jQuery,纯 Javascript。

我也尝试将转换后的名称存储在另一个地方,但我似乎无法手动转换它,我尝试了以下功能:

var test = function(str) {
console.log(unescape(encodeURIComponent(str)) );
console.log(decodeURIComponent(escape(str)) );
};

test('1°Set');

它保持不变,有没有人知道如何将它转换为类似 DOM 的版本?

最佳答案

I have a following problem, i am building app that uses data stream from ajax calls, the data that is coming is therefore escaped inside json string.

example: 1°Set

听起来您遇到了问题,因为您的后端提供的 JSON 如下所示:

{
"something": "1°Set"
}

您提供的不是字符串“1°Set”,而是相当于“1°Set”的 HTML 源代码。这看起来非常没有必要。我看不出在 JSON 中使用 HTML 转义的充分理由,除非你真的希望你的 JSON 实际上包含 HTML 源的一部分(包括格式和所有内容),而不仅仅是一个字符串。

我的建议:让我们保持简单,而不是像这样提供服务:

{
"something": "1°Set"
}

或者等效地使用 JSON 语法正确地转义它:

{
"something": "1\u00b0Set"
}

现在您的 JavaScript 将收到一个可以轻松显示的纯字符串,例如在 element.textContentelement.value 或其他任何地方。您甚至不需要任何转换。

关于javascript - UTF-8 符号在插入到 dom 时被转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43065563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com