当前位置: 首页 > news >正文

mysql中文乱码解决_java+mysql中文乱码问题

乱码问题原因有多种,其中有一种是由于MySQL默认使用 ISO-8859-1 ( 即Latin1 ) 字符集,而JAVA内部使用Unicode编码,因此在JAVA中向MYSQL数据库插入数据时,或者读取数据时,都需要先转换一下编码方式。当然,如果可以直接修改配置文件的话,也可以解决乱码问题,然而某些情况下,我们并不能直接接触到配置文件(例如你是买的网上的空间),此时,我们可以采取编码格式转换的方法。

详细方法参考以下博客。

插入数据:

如:

...

String str="中文";

String sql = "insert into Tb (xxx) values (?)"

PreparedStatement pstmt = conn.prepareStatement(sql);

pstmt.setString(1,str);

pstmt.executeUpdate();

这样插入到Mysql数据库后,用mysql.exe连接查看数据可以看到,插入数据变成了几个“?”呈,也即成了乱码。

解决方法是:

String str="中文";

str = new String(str.getBytes(),"ISO8859_1");         //加入此句,改变编码为iso-8859-1

String sql = "insert into Tb (xxx) values (?)"

PreparedStatement pstmt = conn.prepareStatement(sql);

pstmt.setString(1,str);

pstmt.executeUpdate();

读取数据:

方法与插入数据类似,如下:

...

String str = rs.getString(1);

str = new String(str.getBytes("ISO8859_1"));     //由ISO8859-1编码还原为JAVA内部默认字符集

//或者 str = new String(str.getBytes("ISO8859_1"),"GBK");

相关文章:

  • mysql查询之间的数据_如何从两个日期之间的MySQL查询获取数据?
  • ubuntu12.04安装mysql_Ubuntu12.04 安装MySQL简单步骤
  • mysql联合查询怎么加子查询吗_mysql学习之路_联合查询与子查询
  • shell+crontab+mysql_crontab+shell脚本实现定时备份mysql数据库
  • mysql association_MyBatis association的两种形式——MyBatis学习笔记之四
  • mysql 安装 linux debug_Linux 下 Mysql-4.0.26 安装调试问题
  • mysql语句整理_最全的mysql查询语句整理
  • mysql 同步机制_MySQL主从同步机制及同步中的问题处理
  • win8安装mysql出现2503_Win8.1安装msi出现2503错误怎么办?
  • mysql 大表增删查改_MySQL数据表的增删改查操作
  • 组态王如何连接mysql_组态王连接SQL数据库操作步骤
  • mysql blob转换字符串_最全MySQL面试60题和答案
  • 建立MySQL数据库之后_创建Mysql数据库
  • label读取摄像头 pyqt5_PythonPyQt5:摄像机和屏幕切换
  • 怎么获取前台提交数据是几兆_Web怎么获取请求数据,修改响应信息呢?
  • [笔记] php常见简单功能及函数
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • canvas 绘制双线技巧
  • Computed property XXX was assigned to but it has no setter
  • Git 使用集
  • Java Agent 学习笔记
  • JavaScript 基本功--面试宝典
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • MySQL QA
  • mysql 数据库四种事务隔离级别
  • MySQL主从复制读写分离及奇怪的问题
  • PermissionScope Swift4 兼容问题
  • SpringCloud集成分布式事务LCN (一)
  • SQLServer插入数据
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • vuex 笔记整理
  • 程序员最讨厌的9句话,你可有补充?
  • 工作手记之html2canvas使用概述
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 通信类
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 在Unity中实现一个简单的消息管理器
  • - 转 Ext2.0 form使用实例
  • hi-nginx-1.3.4编译安装
  • 正则表达式-基础知识Review
  • #{}和${}的区别是什么 -- java面试
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (¥1011)-(一千零一拾一元整)输出
  • (C)一些题4
  • (LeetCode 49)Anagrams
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (待修改)PyG安装步骤
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (二)fiber的基本认识
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (篇九)MySQL常用内置函数
  • (转)关于如何学好游戏3D引擎编程的一些经验