SpringMVC + mybatis 传参中文乱码问题
来源:互联网 发布:win7 网络共享 编辑:程序博客网 时间:2024/06/08 06:06
这本来是一个很简单的问题,不过我觉得还是有必要记录下来。
今天在开发博客系统的时候,遇到了参数传递中文乱码的问题。开始我只是直接在web.xml中添加springMVC框架已有的filter来处理,代码都是死的,如下:
<!-- 处理中文乱码 -->
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
但是即使是添加了中文处理的问题,还是乱码,于是开始认真起来了,打断点,发现参数从前台传递到后台,以及后台获取到的参数都是正确的,没有乱码。但是mybatis打印出来的log却依然显示两个 ??, 果断查看model的xml文件,这个地方的模糊查询的sql是这样的:
<select id="orderByTime" parameterType="map" resultMap="BlogArticleList">
select * from blog_article a, blog_user u where a.article_user_id = u.user_id
<if test="null != title">
<!-- #{title} 对sql中的 ? 进行替代, 用 ${title} 会完整的将字符串完成替代 -->
and article_title like #{title}
</if>
order by a.article_id ${order} limit #{index}, #{size}
</select>
这个地方的#{title}的格式是在java程序里面处理好了的,即 '%title%'. 问题就出在这个地方.
正确的做法应该是,不在java程序中处理这个字符串,直接传递即可。and article_title like #{title} 应改成: and article_title like '%${title}%'
**注意的是:现在程序已正确,但是mybatis打印出的log显示的参数依然是 ??,可能是mybatis哪个地方的配置的问题吧,不过不影响程序的正确运行
- SpringMVC + mybatis 传参中文乱码问题
- 解决springmvc+mybatis+mysql中文乱码问题
- 【SSM】解决springmvc+mybatis+mysql中文乱码问题
- springMVC中文乱码问题
- SpringMVC中文乱码问题
- springMVC中文乱码问题
- springmvc 中文乱码问题
- springMVC中文乱码问题
- springMVC中文乱码问题
- springmvc传值中文乱码问题
- SpringMVC+MyBatis+MySQL的中文乱码小结
- SpringMVC+MyBatis+MySQL的中文乱码小结
- springmvc+mybatis 数据库插入中文是乱码
- springMVC中的中文乱码问题
- springMVC的中文乱码问题
- 解决SpringMVC中文乱码问题
- 解决springMVC中文乱码问题
- springmvc彻底解决中文乱码问题
- 装饰者模式(heade first设计模式读书笔记)
- 关于优秀博客那点事
- Linux网络编程之UDP协议(完整版)
- 23种设计模式(22)_行为型_责任链模式(Chain of Responsibility Pattern)
- 关于扫描线的一些理解
- SpringMVC + mybatis 传参中文乱码问题
- 自动化管理工具Saltstack之定时管理(9)
- 如何学习递归,回溯,DFS,BFS.
- libev的安装
- python jieba分词学习
- SNMP 协议工作原理验证与分析
- 顺序表和链表
- 激光 推送
- 线性表