1

Edit:

I am creating a Chrome Extension and the files must be UTF-8 encoded. I use JQuery to get contents from page, and check that if that contains specific strings that contains Ö, ı and İ. However, because the Chrome forces files must be encoded UTF-8; I cannot perform a search of "İ, ı, Ö".

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

Does not work as I need because I cannot save the files with İ, Ö or ı.

Mustafa
  • 10,013
  • 10
  • 70
  • 116
  • UTF-8 can represent pretty much any character, as long as you have a Unicode-aware text editor. Do you mean that the files must be saved as ASCII? – Tyler Jun 04 '11 at 21:40
  • By the way, I highly recommend reading this: http://www.joelonsoftware.com/articles/Unicode.html – Tyler Jun 04 '11 at 21:40
  • Isn't the bug that Javascript doesn't support Unicode? You should be able to write what you have written there without any trouble. – tchrist Jun 05 '11 at 18:13

2 Answers2

7

JavaScript string literals include a syntax for expressing special characters.

For instance, 'Ö' and '\u00D6' are identical strings in JavaScript.

To find the unicode literal for a specific character, you can do this:

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

Therefore, to search for a Ö in a string, you could do:

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

If you need further help, try posting a code sample.

Chris Nielsen
  • 14,731
  • 7
  • 48
  • 54
2
encodeURIComponent(your string)                               

encode it when you save the file, and encode the string before you search

http://www.w3schools.com/jsref/jsref_encodeURIComponent.asp

Andrei Sfat
  • 8,440
  • 5
  • 49
  • 69