执行插入数据SQL语句,到终端窗口执行查找命令,中文显示乱码

执行插入数据SQL语句,到终端窗口执行查找命令,中文显示乱码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package com.imooc.mysql.job;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
 
import org.junit.Test;
 
public class MysqlJdbcInsert {
    @Test
    public void insertData() {
        Connection connection = null;
        Statement statement = null;
        try {
            //1.注册驱动
            Class.forName("com.mysql.jdbc.Driver");
            //创建连接
            connection = DriverManager.getConnection("jdbc:mysql:///imooc""root""123456");
            //创建执行SQL语言的对象
            statement = connection.createStatement();
            //定义SQL语言
            String sql = "insert goods values(null,'耳机1',201,'蓝牙耳机1')";
            //执行SQL语句
            int i = statement.executeUpdate(sql);
            if (i > 0) {
                System.out.println("保存成功");
            }
        catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            //释放资源
            if (connection != null) {
                try {
                    connection.close();
                catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                connection = null;
            }
            if (statement != null) {
                try {
                    statement.close();
                catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                statement = null;
            }
        }
    }
 
}

http://img1.sycdn.imooc.com//climg/5dba8fc20946b09c04000234.jpg

http://img1.sycdn.imooc.com//climg/5dba8fe609df4c1611940182.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
好帮手慕阿满 2019-11-01 17:56:48

同学你好,问一下同学有workbench或者其他的图形化工具吗?建议同学使用图像化工具插入数据在试试,另外jdbc插入数据后,同学可以使用图像化工具查看是否乱码?

MySQL窗口乱码还可能和窗口的编码方式有关。

祝:学习愉快~

好帮手慕阿满 2019-11-01 16:02:25

同学你好,建议同学使用如下命令查看一下表中的字段编码:

1
show full columns from goods;

如果不是utf8或utfmb4,可以使用如下命令设置字段的字符集:

1
alter table goods modify name varchar(45) character set utf8;

祝:学习愉快~

  • 提问者 棉花糖阿水 #1
    用你给的命令看了下,是utf8编码的
    2019-11-01 16:11:45
好帮手慕阿满 2019-10-31 18:09:17

同学你好,建议同学删除所有的乱码,重新插入再试试。比如在窗口中插入,使用jdbc插入等,查看是否还有乱码。

祝:学习愉快~

  • 提问者 棉花糖阿水 #1
    窗口中插入不了,报错(Incorrect string value: '\xCA\xD6\xBB\xFA' for column 'name' at row 1);jdbc插入还是老样子(中文会乱码)
    2019-11-01 11:26:14
好帮手慕阿满 2019-10-31 16:10:32

同学你好,这个可能是编码的原因造成的,建议同学使用show variables like 'character%';命令查看一下编码是否是utf8,如:

http://img1.sycdn.imooc.com//climg/5dba96ed0955d72a06590382.jpg

如果不是,使用set语句进行修改,如:set character_set_server=utf8;

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 棉花糖阿水 #1
    没有解决,反而使原来不乱码的也乱码了
    2019-10-31 16:30:47
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码