Tengo en mi aplicación web Spring MVC Java de Annotation ejecutada en el servidor web de embarcadero (actualmente en el complemento de embarcadero de Maven).
Estoy tratando de hacer algo de soporte AJAX con un método de controlador que devuelve solo el texto de ayuda de String. Los recursos están en codificación UTF-8 y también la cadena, pero mi respuesta del servidor viene con
content-encoding: text/plain;charset=ISO-8859-1
incluso cuando mi navegador envía
Accept-Charset windows-1250,utf-8;q=0.7,*;q=0.7
Estoy usando de alguna manera la configuración predeterminada de spring
He encontrado una pista para agregar este bean a la configuración, pero creo que simplemente no se usa, porque dice que no admite la codificación y en su lugar se usa uno predeterminado.
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes" value="text/plain;charset=UTF-8" />
</bean>
Mi código de controlador es (tenga en cuenta que este tipo de cambio de respuesta no funciona para mí):
@RequestMapping(value = "ajax/gethelp")
public @ResponseBody String handleGetHelp(Locale loc, String code, HttpServletResponse response) {
log.debug("Getting help for code: " + code);
response.setContentType("text/plain;charset=UTF-8");
String help = messageSource.getMessage(code, null, loc);
log.debug("Help is: " + help);
return help;
}