java 读取mysql blob字段乱码

匿名 (未验证) 提交于 2019-12-02 21:59:42
版权声明:有时疏忽导致文章出现纰漏, 添加转载引用助于及时修改源头的错误 https://blog.csdn.net/qq_34208844/article/details/86503754

场景

使用java作为后端操作数据库, 插入的时候是好的(数据库也显示的中文), 但是查询出来的时候就变成乱码了…

分析

同一条数据, 别的字段的中文存取都是正常的, 唯独这个blob格式的字段存进去中文, 取出来就变成乱码了

原因

blob存储的是二进制格式, 最大好像支持到2g
如果存储的是存文本的话可以使用text格式

解决方案

方案一: 修改格式

修改数据库字段格式, 将blob字段格式改为text的格式

方案二: 转换字符编码

在java 代码中将字符编码手动转换

blob = new String(blob.getBytes(CharsetNames.ISO_8859_1),CharsetNames.UTF_8) 
文章来源: https://blog.csdn.net/qq_34208844/article/details/86503754
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!