java连接数据库读取数据出现乱码
因为这是通用编码,像中国通常使用的GBK、GB2312、Big5等只是针对中文而言,但是对其他文字就不适用了,为了使得这个问题的解决具有文字编码通用性,所以我这里设定了UTF8这个编码。
编码一致性涉及到的四个方面为:应用程序编码、数据库系统编码、数据库编码、应用程序与数据库系统的连接编码。
1.mysql的设置,我的系统字符设置是拉丁文,也是够够的,发现之后要记得修改啊

2.java的设置,记得自己在刚开始的时候,设置的是:conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/xsxx","root","123456");
这样在存储的时候,就会出现中文存储的乱码

其实,仅仅需要加上“?characterEncoding=utf8”就能够实现中文的存储。
运行效果如下:

3.代码:
/*****
* java连接mysql
* @author yanlong
*2017/5/7
*/
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
//import java.util.Collection;
import java.sql.SQLException;
//import javax.sql.Statement;
public class TestJDBC {
public static void main(String[] args){
ResultSet rs=null;
Statement stmt=null;
Connection conn=null;
try{
/*加载并注册mysql的JDBC驱动*/
Class.forName("com.mysql.jdbc.Driver");
/*建立到mysql的连接*/
//conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/xsxx","root","123456");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/xsxx?characterEncoding=utf8","root","123456");
/*访问数据库,并执行sql语句*/
stmt=conn.createStatement();
/*添加记录*/
System.out.println("添加记录后:");
String sqll="insert into xs value (111111,'小公举','水利工程')";
stmt.executeUpdate(sqll);
rs=stmt.executeQuery("select * from xs");
while(rs.next()){
System.out.println(rs.getInt("id"));
System.out.println(rs.getString("name"));
System.out.println(rs.getString("major"));
}
rs=stmt.executeQuery("select *from xs");
while(rs.next()){
System.out.println(rs.getInt("id"));
System.out.println(rs.getString("name"));
System.out.println(rs.getString("major"));
}
}catch(ClassNotFoundException e){
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try{
if(rs!=null){
rs.close();
rs=null;
}
if(stmt!=null){
stmt.close();
stmt=null;
}
if(conn!=null){
conn.close();
conn=null;
}
}catch(SQLException e){
e.printStackTrace();
}
}
}
}
java连接数据库读取数据出现乱码的更多相关文章
- java连接数据库插入数据中文乱码
解决方案: jdbc连接数据库,向表中插入中文查看数据乱码:修改数据库连接url为jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf-8 注意 ...
- 【转载】java InputStream读取数据问题
原文链接:http://www.cnblogs.com/MyFavorite/archive/2010/10/19/1855758.html 1. 关于InputStream.read() 在 ...
- java InputStream读取数据问题
原文 1. 关于InputStream.read() 在从数据流里读取数据时,为图简单,经常用InputStream.read()方法.这个方法是从流里每次只读取读取一个字节,效率会非常低. ...
- AJPFX总结java InputStream读取数据问题
1. 关于InputStream.read() 在从数据流里读取数据时,为图简单,经常用InputStream.read()方法.这个方法是从流里每次只读取读取一个字节,效率会非常低. ...
- 訪问站点时仅仅是显示主页(index.jsp),没有请求连接数据库读取数据。
两部曲: 1:在你的web.xml中的Struts2的核心过滤器的映射中添加 <filter-mapping> <dispatcher>REQUEST</disp ...
- 使用JAVA API读取HDFS的文件数据出现乱码的解决方案
使用JAVA api读取HDFS文件乱码踩坑 想写一个读取HFDS上的部分文件数据做预览的接口,根据网上的博客实现后,发现有时读取信息会出现乱码,例如读取一个csv时,字符串之间被逗号分割 英文字符串 ...
- Java InputStream读取网络响应Response数据的方法
Java InputStream读取数据问题 原理讲解 1. 关于InputStream.read() 在从数据流里读取数据时,为图简单,经常用InputStream.read()方法.这个方 ...
- 分享非常有用的Java程序(关键代码)(八)---Java InputStream读取网络响应Response数据的方法!(重要)
原文:分享非常有用的Java程序(关键代码)(八)---Java InputStream读取网络响应Response数据的方法!(重要) Java InputStream读取数据问题 ======== ...
- Hbase读取数据
get命令和HTable类的get()方法用于从HBase表中读取数据.使用 get 命令,可以同时获取一行数据.它的语法如下: get ’<table name>’,’row1’ 下面的 ...
随机推荐
- Stanford Word Segmenter的特定领域训练
有没有人自己训练过Stanford Word Segmenter分词器,因为我想做特定领域的分词,但在使用Stanford Word Segmenter分词的时候发现对于我想做的领域的一些词分词效果并 ...
- Ubuntu14.04安装PyMuPDF
最近写的一个东西需要将pdf转成图片然后放在网页上展示,找到了个非常好用的轮子叫做PyMuPDF,在windows上测试的时候跑的666,在ubuntu上安装依赖的时候,简直万脸懵逼.github上给 ...
- java中字符串的排序(1)
按照前段时间在快速.冒泡等排序的评论中提到是否可以进行字符串的排序,由于最近有考试,时间比较紧,所以今天才实现此功能.此功能是针对一串字符川进行的实现,运行后的结果如下所示: 具体的程序相对较为简单, ...
- 【Alpha阶段】展示博客发布!
1.团队成员简介 Email:qianlxc@126.com Free time:8:00 7:00 a.m ~ 11:00 12:00p.m Introduction: 我是一个热情的人.开朗的人. ...
- opencv学习笔记(三)
imread()读入图,第一个参数,const string&类型的filename,填我们需要载入的图片路径名, 第二个参数,int类型的flags,为载入标识,它指定一个加载图像的颜色类型 ...
- 为什么要用Thrift
Why Thrift, Why not HTTP RPC(JSON+gzip) https://stackoverflow.com/questions/9732381/why-thrift-why-n ...
- 转帖 云和恩墨 http://www.eygle.com/archives/2015/06/sql_version_count.html
SQL多版本控制 - _CURSOR_OBSOLETE_THRESHOLD 作者:eygle |English [转载时请标明出处和作者信息]|[恩墨学院 OCM培训传DBA成功之道]链接:htt ...
- (转)vmware下给linux虚拟机扩容
“Well, here’s another fine mess you’ve gotten me into” Let us pretend that you have an Ubuntu Server ...
- 关于Nginx+Gunicorn+uwsgi+后端框架到app架构梳理和思考
今天下午在思考以前一直在疑惑的问题.也就是在拥有nginx这样的服务器存在了为什么还需要uwsgi这样的服务器.他们之间究竟是什么关系. 我一直在疑惑分层的问题,今天也在这里总结写出我的思考. 首先上 ...
- js history
後退:退到歷史列表的前一個url,和瀏覽器點擊後退按鈕功能相同 history.back() 前進:進入歷史列表的後面一個url,和瀏覽器的前進按鈕功能相同 history.forward()