21

我使用 javascript / jquery 填充包含变音符号的 dom 元素:

var text1 = "Unser platonisches Internetreich droht in die H%E4nde einer bewaffneten Miliz zu fallen."

$("#quote1 span").html(unescape(text1));

如何摆脱 url 编码,例如“H%E4nde”而使用“Hände”?我试过了

<meta charset="utf-8" />

<meta name="http-equiv" content="Content-type: text/html; charset=UTF-8"/>

<script type="text/javascript" src="js/index.js" charset="utf-8"></script>

但他们似乎都没有工作......

感谢帮助。

4

2 回答 2

41

那不是 UTF-8,而是百分比编码,也称为 url 编码。

您可以在显示之前使用decodeURIComponent()将其转换回来

$("#quote1 span").html(decodeURIComponent(text1));

于 2013-05-20T08:15:38.773 回答
9

使用以下任一内置 JavaScript 函数来解码任何编码文本。不需要 jquery 或任何其他库。

const text1 = "Unser platonisches Internetreich droht in die H%E4nde einer bewaffneten Miliz zu fallen."

console.log(decodeURI(text1))

console.log(decodeURIComponent(text1))

更新:如果你想知道如何编码、解码文本,你可以使用另一个内置的 JavaScript 函数,像这样

console.log(encodeURI(text1))

console.log(encodeURIComponent(text1))
于 2020-10-20T07:35:51.343 回答