In Spring-MVC, if the String object returned from your (RequestMapping & ResponseBody annotated) method is encoded in anything other than ISO-8859-1, then you'll be seeing some strange characters in the output of your controller. Many people seem to be having this problem, which is caused by the default encoding setting in StringHttpMessageConverter class of Spring. Fortunately, starting with Spring version 3.1.2, StringHttpMessageConverter class has a constructor that accepts a default encoding parameter, and the solution for this problem becomes as simple as adding below lines in your context configuration xml.