@RequestMapping(params="method=test", produces="text/plain;charset=utf-8")
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2013-02-21
@RequestMapping(params="method=test") @ResponseBody public String test(){ return "测试"; } $.post('<%=request.getContextPath()%>/customer.do?method=test',{},function(data){ alert(data);//接收的是乱码。 }); 试了网上很多方法都不能决解。求解阿 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2013-02-21
请在你的Spring配置文件加上:
<bean class="UTF8StringBeanPostProcessor" /> 附上UTF8StringBeanPostProcessor的代码,原理相信你看到代码也知道了。 import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.http.MediaType; import org.springframework.http.converter.StringHttpMessageConverter; public class UTF8StringBeanPostProcessor implements BeanPostProcessor { @Override public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { if(bean instanceof StringHttpMessageConverter){ MediaType mediaType = new MediaType("text", "plain", Charset.forName("UTF-8")); List<MediaType> types = new ArrayList<MediaType>(); types.add(mediaType); ((StringHttpMessageConverter) bean).setSupportedMediaTypes(types); } return bean; } @Override public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { // do nothing return bean; } } |
|
返回顶楼 | |
发表时间:2013-02-22
Tony_Qiu 写道 请在你的Spring配置文件加上:
<bean class="UTF8StringBeanPostProcessor" /> 附上UTF8StringBeanPostProcessor的代码,原理相信你看到代码也知道了。 import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.http.MediaType; import org.springframework.http.converter.StringHttpMessageConverter; public class UTF8StringBeanPostProcessor implements BeanPostProcessor { @Override public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { if(bean instanceof StringHttpMessageConverter){ MediaType mediaType = new MediaType("text", "plain", Charset.forName("UTF-8")); List<MediaType> types = new ArrayList<MediaType>(); types.add(mediaType); ((StringHttpMessageConverter) bean).setSupportedMediaTypes(types); } return bean; } @Override public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { // do nothing return bean; } } 可能他的源文件就不是UTF8编码的... |
|
返回顶楼 | |
发表时间:2013-02-24
最后修改:2013-02-24
@RequestMapping(params="method=test", produces="text/plain;charset=utf-8")
|
|
返回顶楼 | |
发表时间:2013-02-25
最后修改:2013-02-25
lestang 写道 @RequestMapping(params="method=test", produces="text/plain;charset=utf-8") 正解,或者。 produces = "text/html;charset=UTF-8" |
|
返回顶楼 | |
发表时间:2013-02-28
用这种方式
$.ajax({}) |
|
返回顶楼 | |
发表时间:2013-03-04
在dispatch-servlet.xml以下配置,应该可以了,
<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> <value>text/plain;charset=UTF-8</value> </list> </property> </bean> |
|
返回顶楼 | |
发表时间:2013-03-20
hjl008 写道 在dispatch-servlet.xml以下配置,应该可以了,
<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> <value>text/plain;charset=UTF-8</value> </list> </property> </bean> 正解 |
|
返回顶楼 | |
发表时间:2013-07-23
new String(data.getBytes("iso-8859-1"), "utf-8")呢
|
|
返回顶楼 | |