【问题标题】:There is any way to convert this string: "Coordenação" to this: "Coordenação" in javascript/jquery?有什么方法可以将此字符串:“Coordenação”转换为:javascript/jquery 中的“Coordenação”?
【发布时间】:2013-12-05 16:22:31
【问题描述】:

我需要进行搜索,但我的数据是这样编码的(在 JSON OBJECT 中):Coordenação,当我在输入中键入“Coordenação”时,我什么也没找到。

我想知道是否有任何函数可以将Coordenação 转换为Coordenação

我不确定,但我认为“Coordenação”是 UTF-8 编码,其他字符串是 ISO-8859-1

我从我的 oracle 数据库中获取了正确的字符串,并且它在浏览器中正确显示,但是当我使用浏览器查看我的代码源时,我看到我的 json 对象带有这些字符(我正在使用来自的数据制作一个 json 对象数据库)。

我正在寻找如何用其他解决方案解决这个问题的几个小时,但没有成功,现在我正在尝试将输入的数据转换为与 json 数据匹配。

【问题讨论】:

  • 不要那样做。 JSON 对象不应包含 XML 实体。
  • 你的数据是从哪里来的呢?将数据加载到 JSON 对象时,感觉好像少了一个步骤。至于编码,一种是“实际文本”编码,另一种是“我们不知道你使用的是哪种编码,所以我们给你unicode,所有非ascii字符都作为字符实体字符串”
  • 使用 Notepad++ 查看字符串会发生什么。在该程序中,您可以随意更改结尾。}

标签: javascript jquery encoding utf-8 iso-8859-1


【解决方案1】:

谢谢@乔纳森。我在您的链接中找到了解决方案。

这个函数完全符合我的要求:

    function encodeHTML(str) {
        var aStr = str.split(''),
            i = aStr.length,
            aRet = [];

        while (--i) {
            var iC = aStr[i].charCodeAt();
            if (iC < 65 || iC > 127 || (iC > 90 && iC < 97)) {
                aRet.push('&#' + iC + ';');
            } else {
                aRet.push(aStr[i]);
            }
        }
        return aRet.reverse().join('');
    }

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-11
  • 2021-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-18
  • 2011-08-11
相关资源
最近更新 更多