在javascript中,UTF-8字符串比较返回false

在javascript中,UTF-8字符串比较返回false,javascript,android,cordova,utf-8,Javascript,Android,Cordova,Utf 8,我有一个Phonegap,当比较从sdcard中编码为UTF-8的文件读取的字符串和程序中存储的常量时,我遇到了一个问题。在文件中,我读到的“model”(UTF-8)=“model”(存储在js文件中)是FALSE!。 有人遇到过这样的问题吗 尊敬的,也许可以试试这样的东西 function encode_utf8( s ) { return unescape( encodeURIComponent( s ) ); } function decode_utf8( s ) { retu

我有一个Phonegap,当比较从sdcard中编码为UTF-8的文件读取的字符串和程序中存储的常量时,我遇到了一个问题。在文件中,我读到的“model”(UTF-8)=“model”(存储在js文件中)是FALSE!。 有人遇到过这样的问题吗


尊敬的,

也许可以试试这样的东西

function encode_utf8( s )
{
  return unescape( encodeURIComponent( s ) );
}

function decode_utf8( s )
{
  return decodeURIComponent( escape( s ) );
}

字符串不能完全像您所说的那样。如果它们确实是UTF-8,拼写“model”(非常适合ascii范围),那么它们将是相同的


下一步我要做的就是逐字节分析这两个字符串。当你用所有信息扩展你的问题时,包括实际的代码,可能还有你试图读取的数据的十六进制转储。

你确定UTF-8字符串上没有额外的空格吗?是的,我们还修剪了每个字符串,并且它们是一样的。