I don't know why this happens... but if I annotate a controller method with @ResponseBody (returning String), and I output JSON from it, the unicode text that I will receive on the browser (any one) will not contain accented chars, but annoying �s. I checked that the text is correctly encoded just before being returned. In fact if I create a JSP that will output that JSON, it gets out correctly. So it is just @ResponseBody. How do I get it working correctly?