I’ve been sitting on this problem for a while now but after sitting in with a StayPress beta user and watching their workflow (which included copying and pasting to Word, Spellchecking and then pasting back into WordPress) I decided to sit down and work my way through getting the Spellcheck working on my servers.
The main reason for putting things off was the wonderfully instructive error message that was returned when the spell check button was pressed (see below). It didn’t really give me much to go on so it was going to be a case of opening the spell checker php files and walking through the code to see where things went wrong.

But they didn’t…. After 2 hours of stepping through and the planting of “informative” messages to tell me how far processing had gotten, it turns out the spell check was actually doing it’s job quite nicely thank you very much, it just wasn’t returning the results to the browser correctly.
As a last stab in the dark, I decided to look at the headers being sent by the response and commenting some of them out to see if that made much difference.
The first line commented was line 13 in rpc.php which now reads:
//header('Content-Encoding: UTF-8');
and voila, all of a sudden the spell check started operating. Now I have no idea why my browser or server or something along the line doesn’t like UTF-8 encoding but I’ll save that for another day.
At least I have now eliminated Microsoft Word from a users work flow.
rpc.php can be found in your wp-includes/js/tinymce/plugins/spellcheck directory
Thanks! I’ve been having the same problem since…forever and I’ve been trying to solve it for months but I couldn’t figure it out. So is this a bug in wp or is it to do with tinymce?