Javascript 将欧元符号转义为 %u2AC 而不是 %u20AC

标签 javascript utf-8 escaping

我的 Javascript 将欧元符号转义为 %u2AC 而不是 %u20AC。这是一个问题,因为:

// My case:
var euroSymbol = '€';
var escapedEuroSymbil = escape(euroSymbol); // %u2AC
var backtoUnescaped = unescape(escapedEuroSymbil); // %u2AC
// Normal case:
var euroSymbol = '€';
var escapedEuroSymbil = escape(euroSymbol); // %u20AC
var backtoUnescaped = unescape(escapedEuroSymbil); // €

我知道不建议使用 escape 和 unescape,但我们将转义数据存储在数据库中,因此无法更改:(
有什么办法让它以正常方式逃脱吗?网页有该标签:

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

所以我不认为这是编码问题。

最佳答案

在某些时候,事实证明它不是 javascript,但 Coldfusion 被配置为对大多数值使用 urldecode(valueToBeChange, "iso-8859-1")。

关于Javascript 将欧元符号转义为 %u2AC 而不是 %u20AC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51983338/

相关文章:

javascript - 比较多个 JS 数组的值

javascript - 学习 backbone.js 的最佳方法是什么?还有其他选择吗?

python - 如何使用 Python 将具有 cp1252 字符的 unicode 字符串转换为 UTF-8?

shell - applescript/shell 中的单引号转义

javascript - GWT:setInnerHTML 取消转义属性值

php - 为 html 和输入字段安全地转义输出

javascript - 将当前时间注入(inject)日期脚本

javascript - Chartist.js - 为什么圆环图的中心是黑色的?

VIM - 菜单中没有 UTF-8

powershell - 用 UTF-8 编码一个字符串