如何使用2种不同编码的2个字符串

时间:2012-07-26 14:28:28

标签: javascript character-encoding

我有一个带JavaScript的html页面。在其中我加载了另一个带有标记的JavaScript:

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

此外,我的html页面使用以下标记进行编码:

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

然后,在函数内部,我得到一个在“myfile.js”中定义的字符串,并希望将它与来自我的主页面的字符串进行比较。我尝试了indexOf,==,search,match ......但断言总是假的。我提醒了我的字符串,它们显示为相同(区分大小写)。

任何人都知道为什么我的测试不起作用?

编辑:我的代码如下所示。

window.lang= new myobject(); // this object is defined in myfile.js
var mystring1 = window.lang.attr1['mykey'];
var mystring2 = $("#mydivid").html();
alert(mystring1+":"+mystring2); // this shows 2 equal strings
/* Here I wanted to test if the 2 strings are equals and tried "==", mystring1.indexOf(mystring2), match, search, ... */

在file.js中:

myobject.prototype.attr1 = {
 'mykey': 'mystring1value'
}

3 个答案:

答案 0 :(得分:2)

您需要"utf-8",而不是"uft-8"

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

答案 1 :(得分:1)

Sample1.html                                     新文件                                             

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

    <script>
    function compare(){
    j="test";
    alert(i==j);
    }
    </script>

    <BODY onload="compare();">

    </BODY>
    </HTML>

Sample2.js

var i="test";

请尝试一下这对我来说很好

答案 2 :(得分:0)

最终问题来自于jquery插件(jsTree),它在我的字符串末尾添加了一些“\ n”或“\ r \ n”。对不起,感谢您的帮助!

干杯,

Ricola3D