近日使用ajax请求springmvc后台查询mysql数据库,页面显示中文出现乱码

最初在mybatis配置如下

select text from News where id=#{o}

其中表News的text字段为blob类型

如此查出的text值在控制台中一直显示乱码。

之后google查找相关resultType=blob相关内容无果,遂将其改为resultType = "java.util.Map" ,且

byte[] b = (byte[]) map.get("text");

String s = new String(b,"utf-8");

打印出s,此时中文正常显示,但页面显示依旧乱码。

因此处为ajax请求,遂检查响应头信息,查出如下

Content-Typetext/html;charset=ISO-8859-1

由于数据库中统一为编码为utf-8,故修改响应头信息

@RequestMapping(value = "/queryContentById", method = RequestMethod.GET,produces = "text/plain;charset=UTF-8")

public @ResponseBody String queryContentById(@RequestParam("id") String id) throws SQLException, UnsupportedEncodingException {

Map map = (Map) ndrService.queryContentById(id);

byte[] b = (byte[]) map.get("text");

String s = new String(b,"utf-8");

return s;

}

我们再来看下另外一个示例的问题

1、SpringMVC的Controller得到的是乱码:

(1)在web.xml加上字符集过滤器:

SpringEncodingFilter  org.springframework.web.filter.CharacterEncodingFilter     encoding   UTF-8       forceEncoding   true      SpringEncodingFilter  /*

(2)在JSP等页面上修改:charset=UTF-8"和pageEncoding="UTF-8"

2、Controller读取到的是正确的中文,但是保存到数据库后变成“??”

(1)修改数据库连接jdbc_url=jdbc:mysql://localhost:3306/mybatistest?useUnicode=yes&characterEncoding=UTF8("&":在xml文件中表示"&")

(2)修改数据库的字符集为utf-8:打开mysql根目录下my.ini(mysql5.6为my-default.ini,要把它copy一份命名为my.ini),在下面具体位置添加(或修改):

[mysqld]character-set-server=utf8 [client]default-character-set = utf8[mysql]default-character-set = utf8

这样设置在我这边就没什么问题了。

综述:

通常中文乱码问题都是由于字符编码设置不对导致的,我这里无论是数据库还是java文件、jsp文件,都统一成UTF-8。最后问题解决了。

pb mysql 中文乱码_解决springmvc+mybatis+mysql中文乱码问题相关推荐

  1. springmvcget中文乱码_解决SpringMVC Controller 接收页面传递的中文参数出现乱码的问题...

    新配置一个spring的MVC项目,发现对Get请求的中文参数出现了乱码: 查看了SpingMVC中关于编码的配置(在web.xml中),如下: encodingFilter org.springfr ...

  2. python django mysql写入中文乱码_解决django 向mysql中写入中文字符出错的问题

    之前使用django+mysql建立的一个站点,发现向数据库中写入中文字符时总会报错,尝试了修改settings文件和更改数据表的字符集后仍不起作用.最后发现,在更改mysql的字符集后,需要重建数据 ...

  3. 中文提交到git乱码_解决git 提交后中文字符会乱码的问题

    解决git 提交后中文字符会乱码的问题 最近发生那了一件怪事,当然菜鸡经常碰见怪事 本来一个.properties文件在idea里面commit的时候看了一下diff,没发现异常,但是提交到gitla ...

  4. matlab ubuntu 显示乱码_解决Linux中Matlab中文乱码问题

    解决 Linux 中 Matlab 中文乱码问题 由于 Linux 下 Matlab 的图形界面是用 Java 写的,所以只要搞定 Java 的中文显 示就行了. 1 . 我 Matlab2007a ...

  5. python为运行为何出现乱码_解决执行python脚本出现乱码的问题

    解决执行python脚本出现乱码的问题 发布时间:2020-08-11 09:19:22 来源:亿速云 阅读:111 作者:小新 小编给大家分享一下解决执行python脚本出现乱码的问题,相信大部分人 ...

  6. python mysql写入速度加快_解决python写入mysql中datetime类型遇到的问题

    解决python写入mysql中datetime类型遇到的问题 发布时间:2020-08-31 16:46:47 来源:脚本之家 阅读:89 作者:WilliamDescant 刚开始使用python ...

  7. mac mysql密码错误_解决mac 下mysql安装后root用户登录密码错误问题

    使用的mac OS 10.11  安装mysql后访问root/root用户失败,网上找了一些解决办法,下面记录下解决方法方便以后自己查询 概述(看懂下面就不用看了): 停服务:sudo /usr/l ...

  8. ssh插入mysql乱码_解决SSH连接mysql中文乱码问题

    1.Jsp页面的编码格式要是UTF-8. 2.数据库的字符编码格式UTF-8. 3.在WEB.XML文件中添加过滤器,参考代码如下: encodingFilter org.springframewor ...

  9. ssh mysql 乱码_解决SSH连接mysql中文乱码问题

    1.Jsp页面的编码格式要是UTF-8. 2.数据库的字符编码格式UTF-8. 3.在WEB.XML文件中添加过滤器,参考代码如下: encodingFilter org.springframewor ...

最新文章

  1. 盘外招无法击垮比特币现金(BCH)的意志
  2. 配置内网邮件和外网邮件互发
  3. linux之cut命令使用和总结
  4. 二、bootstrap4基础(flex布局)
  5. Linux系统常用函数,浅谈linux下的一些常用函数的总结(必看篇)
  6. OpenBSD4.6 FAQ[一]
  7. 基于Matlab的跨孔CT胖射线追踪算法(五)
  8. Python 第三方扩展库
  9. 观察者模式代码php,PHP 观察者模式的实现代码
  10. GridView.RowCommand 事件
  11. springboot+poi导出excel
  12. 可靠产品设计的5项技术 02-识别和评估关键的可靠性风险
  13. Spring学习记录01
  14. 年度案例大数据盘点之Spark篇
  15. 《Java程序员,上班那点事儿》荣登北京新华书店销售榜第2名
  16. 24步成为后端开发工程师
  17. 商城项目15_采购需求、合并采购单、领取采购单、完成采购、仓库流程图
  18. 通信领域的dB计量单位
  19. MaterialDesign美化控件
  20. 《绝地求生》玩家排名预测(2万5千字~大型综合实战)

热门文章

  1. HK-2000 数采仪系统说明之 7.HK7710 DTU 简单配置说明
  2. 提高计算机水平的小技巧,五大电脑小技巧
  3. 5、Flutter 实现 ViewPager、bottomNavigationBar 界面切换
  4. Android 友盟推送开发
  5. python寻找字符串中的英文字符,python如何解析字符串中出现的英文人名?
  6. mysql 字符串类型 小数_在Mysql中,小数数据类型是指由字符串来表示的数字。(  )...
  7. echarts生成图表
  8. linux空文件夹大小,[转载]linux 查看文件和文件夹大小
  9. matlab多缝夫琅禾费,常见的多缝夫琅禾费衍射.ppt
  10. qchart 设置线颜色_实战PyQt5: 137-QChart图表之散点图