2011-06-04 43 views
1

编辑:Javascript非UTF-8字符搜索Google Chrome扩展程序

我正在创建Chrome扩展程序,并且文件必须是UTF-8编码。 我使用JQuery从页面获取内容,并检查是否包含包含Ö,ı和©的特定字符串。但是,因为Chrome力量文件必须以UTF-8编码;我无法搜索“İ,ı,Ö”。

var p = txt.indexOf("İ"); 

由于我无法保存文件,因为我无法保存İ,Ö或ı。

+0

只要您具有支持Unicode的文本编辑器,UTF-8就可以表示任何字符。你的意思是这些文件必须保存为ASCII码? – MatrixFrog 2011-06-04 21:40:17

+0

顺便说一下,我强烈推荐阅读:http://www.joelonsoftware.com/articles/Unicode.html – MatrixFrog 2011-06-04 21:40:57

+0

是不是Javascript不支持Unicode的错误?你应该可以写下你写的东西,而不会有任何麻烦。 – tchrist 2011-06-05 18:13:28

回答

6

JavaScript字符串文字包括syntax for expressing special characters

例如,'Ö'和'\ u00D6'是JavaScript中的相同字符串。

要查找的Unicode文本的特定字符,你可以这样做:

'Ö'.charCodeAt(0).toString(16); // yields "d6"; the code is "\u00D6" 

因此,要搜索字符串中的O,你可以这样做:

var toSearch = "abc Ö def"; 
if (toSearch.indexOf('\u00D6') > -1) { 
    // found! 
} 

如果您需要进一步的帮助,请尝试发布代码示例。

+0

这对我来说是最快的解决方案。谢谢。 – Mustafa 2011-06-04 18:54:17

+0

什么是特殊字符?任何代码点都应该代表自己。你不应该需要所有这些跛脚逃生。只需使用UTF-8进行编辑即可完成。 – tchrist 2011-06-05 18:14:14