If an application sends unicode characters in X-JSON header, all major browsers treat them as ASCII characters as there is no standard that allows specifying the character encoding of HTTP headers. Updating innerHTML with values obtained from the result of evalJSON then causes incorrect rendering of unicode characters.
The solution described here:
http://www.mail-archive.com/rubyonrails-spinoffs@googlegroups.com/msg00508.html
works around the problem by calling decodeURIComponent function which processes the text with the encoding specified in the HTTP header.
Shouldn't this be standard in evalJSON?