富文本框回显乱码问题解决
富文本编辑器是将样式及内容一起放入数据库,所用数据类型为blob型,在数据装入数据库及从数据库中读取时应注意编码格式问题,以防止出现乱码。出现乱码时主要解决手段:
1.查看创建blob对象是不是用的“utf8”编码格式
2.查询时是否进行了二次编码解析,主要体现在mapper.xml文件中。blob对应字段要进行处理,处理内容如下:
- package cn.ffcs.drive.common.util;
- import java.io.ByteArrayInputStream;
- import java.io.UnsupportedEncodingException;
- import java.sql.Blob;
- import java.sql.CallableStatement;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import org.apache.ibatis.type.BaseTypeHandler;
- import org.apache.ibatis.type.JdbcType;
- /**
- * className:ConvertBlobTypeHandler
- *
- * 自定义typehandler,解决mybatis存储blob字段后,出现乱码的问题
- * 配置mapper.xml:
- * <result typeHandler="cn.ffcs.drive.common.util.ConvertBlobTypeHandler"/>
- *
- * @author pengyh
- * @version 1.0.0
- * @date 2014-07-09 11:15:23
- *
- */
- public class ConvertBlobTypeHandler extends BaseTypeHandler<String> {
- //###指定字符集
- private static final String DEFAULT_CHARSET = "utf-8";
- @Override
- public void setNonNullParameter(PreparedStatement ps, int i,
- String parameter, JdbcType jdbcType) throws SQLException {
- ByteArrayInputStream bis;
- try {
- //###把String转化成byte流
- bis = new ByteArrayInputStream(parameter.getBytes(DEFAULT_CHARSET));
- } catch (UnsupportedEncodingException e) {
- throw new RuntimeException("Blob Encoding Error!");
- }
- ps.setBinaryStream(i, bis, parameter.length());
- }
- @Override
- public String getNullableResult(ResultSet rs, String columnName)
- throws SQLException {
- Blob blob = rs.getBlob(columnName);
- byte[] returnValue = null;
- if (null != blob) {
- returnValue = blob.getBytes(1, (int) blob.length());
- }
- try {
- //###把byte转化成string
- return new String(returnValue, DEFAULT_CHARSET);
- } catch (UnsupportedEncodingException e) {
- throw new RuntimeException("Blob Encoding Error!");
- }
- }
- @Override
- public String getNullableResult(CallableStatement cs, int columnIndex)
- throws SQLException {
- Blob blob = cs.getBlob(columnIndex);
- byte[] returnValue = null;
- if (null != blob) {
- returnValue = blob.getBytes(1, (int) blob.length());
- }
- try {
- return new String(returnValue, DEFAULT_CHARSET);
- } catch (UnsupportedEncodingException e) {
- throw new RuntimeException("Blob Encoding Error!");
- }
- }
- @Override
- public String getNullableResult(ResultSet arg0, int arg1)
- throws SQLException {
- // TODO Auto-generated method stub
- return null;
- }
- }
定义上面类之后,在mapper.xml中配置<result property="content" column="CONTENT" typeHandler="cn.ffcs.drive.common.util.ConvertBlobTypeHandler"/>即可。
实体接收使用String接收。
转载自http://blog.csdn.net/p793049488/article/details/37818989
富文本框回显乱码问题解决相关推荐
- 关于微信小程序富文本编辑器回显数据初始化editor的时候,页面滑动到最底部了
** 一个页面高度超出一屏时,底部使用了富文本编辑器组件editor之后,如果在进入页面时对editor进行了赋值,页面会滚动到底部 控制页面不滚动到底部?** 这个问题的关键是进入页面给富文本赋值造 ...
- 富文本编辑器回显去掉<p></p>
只需要在标签内用指令 v-html=" 需要回显的内容 " v-html是vue中内置的指令,可以解析html标签,在此行代码中可以配合字符串拼接实现您所需要的功能 实例: < ...
- ios html富文本分页,富文本框与分页
1.富文本框javascript UEditor, CKEditor,wangEditor 市面用得比较多的富文本框html 使用是的wangEditor,要学习的话能够去看它的官网 -> ht ...
- django(7)modelform操作及验证、ajax操作普通表单数据提交、文件上传、富文本框基本使用...
一.modelForm操作及验证 1.获取数据库数据,界面展示数据并且获取前端提交的数据,并动态显示select框中的数据 views.py from django.shortcuts importr ...
- php文本框长度限制,php截取富文本框中的固定长度的字符
ai,哎怎么赶脚自己写东西越来越小儿科了呢,现在连这个问题都找了好半天 因为后台是的内容是富文本编辑器编辑的,前台我傻逼的直接截取了字符串,然后样式啥的都乱了,找了半天是因为富文本的问题 其实解决办法 ...
- PMEdit一个富文本框可以编辑文本、图片并可以显示GIF动画
一.在开始之前首先吐槽一下,本人是一个独立开发者,在中国独立开发者就代表一个比较苦逼的行业,特别是对底层东西进行开发者,尤其本人研究方向是编译器.解析器基本上没有公司要,所以出来做个独立开发者.作为独 ...
- PMEdit一个富文本框可以编辑文本、并可以显示GIF动画
PMEdit一个富文本框可以编辑文本.并可以显示GIF动画 发布时间:2013-04-14 发布来源: 护士必必要有同情心和一双愿意工作的手. 一.在开端之前起首吐槽一下,本人是一个自力开辟者,在中国 ...
- bootstrap前台富文本框的书写。
首先砍一下效果图: 页面红色框处即为富文本框的一些格式化调整. 此处只贴富文本框处的代码: <div class="form-group"><label clas ...
- winForm中RichTextBox富文本框的使用
创建一个RichTextBox控件 属性 a. 行为-EnableAutoDragDrop:True 允许拖拽 打开文件 先添加一个button按钮,注册单击事件表示打开某个文件 private vo ...
最新文章
- linux 别名管理,Linux 的 15 个命令行别名, 帮系统管理员提升工作效率!
- PowerDesigner对列增加注释
- JDK容器学习之ArrayList:底层存储和动态扩容
- OSX 10.8+下开启Web 共享 的方法
- Objective-C中的instancetype和id关键字
- final 在 java 中有什么作用?
- diybox路由器设置教程_家庭无线路由器怎么设置 家庭无线路由器设置教程【详细方法】...
- mysql 如何解决字段不区分大小写的问题
- 伺服电机常用参数设置_伺服驱动器重要参数的设置方法和技巧
- 用MUI花两天时间快速开发『One·一个』App,兼容Android、iOS双平台
- 2019年全国大学生电子设计竞赛赛题分享与浅析
- ps如何把自己的图与样机结合_如何用PS制作样机,并且看起来毫无痕迹
- “将就的人生,其实沉没成本非常高”
- Go学习笔记 -- 通道实现协程等待
- 小镇走出的大厂女程序员,也害怕努力后仍一无所获
- SAP 采购发票校验
- 齐二TK6916/20/26/32系列数控落地铣镗床简介7
- vue展示信息卡片_vue 个人中心会员卡片组件
- 为什么说社区团购小程序开发更有利于社区团购模式开展?
- 一、个人总结的菜鸟教程|sql教程的知识点(SQL教程)