A: 

This works as expected for me:

alert("æøå");

... creates an alert containing the string "æøå" whereas

alert("æøå");

... creates an alert with the non-ascii characters.

Javascript is pretty utf-8 clean and doesn't tend to put obstacles in your way.

Maybe you're putting this on a web server that serves it as ISO-8859-1? If you use Apache, in your Apache config file (or in .httaccess, if you can override), you should have a line

AddCharset utf-8 .js

(Note: edited to escape the ampersands... otherwise it didn't make sense.)

chryss
A: 

I get "æøå" for the first one and some junk characters for the next. Could it be that the javascript is not mangling (or mojibake) your letters but the alert dialog uses the system default font, and the font is incapable of displaying the letters?

eed3si9n
+1  A: 

Just specifying UTF-8 in the header is not enough. I'd bet you haven't saved your file as UTF-8. Any reasonably advanced text editor will have this option. Try that and I'm sure it'll work!

grapefrukt
A: 

You can also use String.fromCharCode() to output a character from a numeric entity.

e.g. String.fromCharCode( 8226 ) will create a bullet character.

enricopulatzo
+3  A: 

If you ever can't set the response encoding, you can use \u escape sequence in the JavaScript string literal to display these characters.

alert("\u00e6\u00f8\u00e5")
Kevin Hakanson