springmvc StringHttpMessageConverter 中文乱码的几种解决办法(亲测)

昨天,将一个原来使用JSR 311作为restful实现的测试系统改成了使用spring mvc,最后测试的时候发现输出的json字符串为乱码,从日志可以看出使用的是StringHttpMessageConverter,并使用ISO-8859-1字符集,解决方法如下:

public class StringHttpMessageConverter extends AbstractHttpMessageConverter<String>
{
  public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");
  ..........
}  

不推荐这种方法。

亦或是

@RequestMapping(value = "/configrole", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
public @ResponseBody String configrole() {
  ......
}  
时间: 2024-11-03 05:19:38

springmvc StringHttpMessageConverter 中文乱码的几种解决办法(亲测)的相关文章

spring mvc ajax中文乱码的几种解决办法

使用spingmvc,在JS里面通过ajax发送请求,并返回json格式的数据,从数据库拿出来是正确的中文格式,展示在页面上就是错误的 ,研究了一下,有几种解决办法. 方法一: 在@RequestMapping里面加入produces = "text/html;charset=UTF-8" Java代码 @RequestMapping(value = "/configrole", method = RequestMethod.GET, produces = &quo

eclipse中的js文件出现中文乱码的三种解决办法

这里记录一下Eclipse中打开/编辑JS文件,出现中文乱码的解决办法. 出现中文乱码的原因 在Eclipse中,js文件的默认编码是ISO-8859-1,这种编码和中文不兼容,导致了解码失败,继而出现了中文乱码. 解决中文乱码的方法 解决的方法就是将js文件的编码修改为对应的中文编码就可以了. 1.依次点击Windows->Preferences->General->Content Types->Text->JavaScript Source File,将编码格式改为UTF

mysql保存中文乱码的原因和解决办法

当你遇到这个mysql保存中文乱码问题的时候,期待找到mysql保存中文乱码的原因和解决办法这样一篇能解决问题的文章是多么激动人心. 也许30%的程序员会选择自己百度,结果发现网友已经贴了很多类似mysql 中文乱码.php mysql 中文乱码.mysql5.5中文乱码.mysql 乱码.mysql乱码问题.mysql jsp 乱码.mysql jdbc 乱码.mysql 查询乱码.mysql 导入数据乱码等一系列问题,到底哪个是自己要找的能解决自己问题的呀?15%的程序员一看就懵了,剩下15

php中文乱码问题分析及解决办法

中文乱码问题产生的原因,主要就是字符编码设置问题: 首先,mysql数据库安装的时候字符编码要选择正确,最好选择utf-8比较保险.如果安装时没有设置正确,找到mysql的安装目录,修改my.conf配置文件中的字符设置,打开文件,应该一个是在mysqll下面,一个是在server下面的. 如果是php页面的中文乱码,也就是非数据库查询出来的数据,HTML页面静态的部分出现乱码,应该使用header("content-type:text/html; charset=utf8") 来设定

Google浏览器主页被篡改(目标里没有网址)的解决办法--亲测有效

关于点开浏览器,主页被篡改(劫持),网上很多解决办法,大部分是说点开快捷方式的属性查看“目标”的值最后是否有网址,有网址的删除网址就可以了.但是我遇到的情况却不是 那样的,在Google浏览器里面设置一些东西也没有用. 最后在网上也找到一种解决办法--右键快捷方式,打开文件所在位置,然后修改那个名字,比如把chrome.exe修改成chrome_new.exe,然后发送到桌面快捷方式就可以了.一开始我也不相信这种解决办法,但是弄了很久却搞不好,只能抱着试一试的心态去试验,结果却可以了.遇到这种情

FlowPaper中文PDF乱码的一种解决办法

[关键词]FlowPaper.PDF.js.乱码 [结论]先给出解决办法,后面的大段内容只是为了记录当时的排查过程. PDF.js有全局变量对象PDFJS(1.8以上版本在pdf.js最后,1.5.x的版本没找到,在代码取值地方设置也可,下有说明),可以设置字体资源路径和方式(关于字体资源的说明可看此贴https://stackoverflow.com/questions/32764773/what-is-a-pdf-bcmap-file),如果采用默认不设置就可能会出现找不到资源文件乱码的情况

使用myeclipse出现中文乱码的情况以及解决办法

一:在jsp页面使用中文在浏览器中显示的时候出现乱码,解决问题的办法: 1)直接在<mete>标签中修改charset属性为"utf-8"或者为"gb2312"可以解决中文乱码问题. 2)因为jsp页面是在编译器中编译成.class文件之后在经过tomcat服务器输出在浏览器中时需要解析server.xml配置文件,所以 可以把此配置文件中的<connector />标签中的URIEncoding="UTF-8"; 二:h

plsql中文乱码显示问号的解决办法

问题现象:  PLSQL执行sql语句,不识别中文,输出的中文标题显示成问号????. 解决办法: 1. 登陆plsql,执行sql语句,输出的中文标题显示成问号????:条件包含中文,则无数据输出:查询出的内容含有中文显示成????. 2.输入sql语句select * from V$NLS_PARAMETERS t WHERE t.PARAMETER='NLS_LANGUAGE'查看字符集,查看value值是否为简体中文. 3.进入注册表,依次单击HKEY_LOCAL_MACHINE ---

MYSQL导入中文数据乱码的四种解决办法

方法一:通过增加参数 --default-character-set = utf8 解决乱码问题 方法一:通过增加参数 --default-character-set = utf8 解决乱码问题 mysql -u root -p password < path_to_import_file --default-character-set = utf8 方法二:在命令行导入乱码解决 use database_name; set names utf8; (或其他需要的编码) source examp