cmd接收mysql显示问号_MySQL_JDBC链接mysql插入数据后显示问号的原因及解决办法,1.在cmd中进入mysql查看默认的编 - phpStudy...

本文介绍了在使用JDBC连接MySQL时遇到的插入数据后显示问号(乱码)的问题,分析了原因并提供了详细的解决步骤。包括检查MySQL服务器的字符集设置、确保Eclipse编码格式为UTF-8,以及确认MySQL客户端表格的编码方式。同时,提供了一个简单的JDBC连接MySQL的示例代码,展示了如何在URL中设置正确的字符编码。
摘要由CSDN通过智能技术生成

JDBC链接mysql插入数据后显示问号的原因及解决办法

1.在cmd中进入mysql查看默认的编码格式:

mysql> show variables like "%char%";

若不是utf8(因为我用的是utf8),关掉mysql服务,在my.ini中添加

[client]

default-character-set=utf8

[mysqld]

default-storage-engine=INNODB

character-set-server=utf8

collation-server=utf8_general_ci

[mysql]

default-character-set=utf8

2.eclipse中的编码格式是否为utf8

3.如果还是不可以,检查mysql客户端表格的编码方式

show create table tablename

如果不是utf-8.删掉重新建立一张表(之前我在原表上改动没有成功,可能是我自己操作的原因)

分享一个经典的JDBC连接MySQL的程序

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class MySQLConnection {

public static void main(String[] args) {

Connection conn = null;

Statement stmt = null;

ResultSet rs = null;

String url = null;

String user = null;

String password = null;

String sql = null;

try {

Class.forName("com.mysql.jdbc.Driver"); //加载mysq驱动

} catch (ClassNotFoundException e) {

System.out.println("驱动加载错误");

e.printStackTrace();//打印出错详细信息

}

try {

url =

"jdbc:mysql://localhost/test?user=root&password=yqs2602555&useUnicode=true&&characterEncoding=gb2312&autoReconnect = true";//简单写法:url = "jdbc:myqsl://localhost/test(数据库名)? user=root(用户)&password=yqs2602555(密码)";

user = "root";

password = "yqs2602555";

conn = DriverManager.getConnection(url,user,password);

} catch (SQLException e) {

System.out.println("数据库链接错误");

e.printStackTrace();

}

try {

stmt = conn.createStatement();

sql = "select * from dept";//dept这张表有deptno,deptname和age这三个字段

rs = stmt.executeQuery(sql);//执行sql语句

while(rs.next()) {

System.out.print(rs.getInt("deptno") + " ");

System.out.print(rs.getString("deptname") + " ");

System.out.println(rs.getInt("age") + " ");

}

} catch (SQLException e) {

System.out.println("数据操作错误");

e.printStackTrace();

}

//关闭数据库

try {

if(rs != null) {

rs.close();

rs = null;

}

if(stmt != null) {

stmt.close();

stmt = null;

}

if(conn != null) {

conn.close();

conn = null;

}

} catch(Exception e) {

System.out.println("数据库关闭错误");

e.printStackTrace();

}

}

}

运行结果如下:

1 yqs 0

2 hello 0

3 yqsshr 0

4 world 0

5 hryspa 0

1 yqs 0

2 hello 0

3 yqsshr 0

4 world 0

5 hryspa 0

1 yqs11 21

1 yqs21 31

1 yqs31 41

1 yqs41 51相关阅读:

Linux系统中tr命令的基本使用教程

[视频]微软展示如何轻松移植iOS/Android应用到Win10上

PHP 函数call_user_func和call_user_func_array用法详解

ASP.NET Calendar日历(日期)控件使用方法

oracle查询不含括号及不含指定字符的方法

浅析jquery某一元素重复绑定的问题

基于C#实现的屏幕指定区域截屏代码

PHP数学运算与数据处理实例分析

PHP获取远程图片并保存到本地的方法

js 自带的sort() 方法全面了解

C++联合体union用法实例详解

AngularJS基础 ng-readonly 指令简单示例

在ASP.NET 2.0中操作数据之六:编程设置ObjectDataSource的参数值

举例讲解Linux下grep命令的精彩使用技巧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值