输出的数据库中文变成了其他编码

package user;

public class User {
    private String userName;
    private String password;
    private String phone;
    private String address;
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }

}

import user.User;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class a {
    public static void PrintUsers(List<User> list) {
        for(User user : list) {
            System.out.println(user);
        }
    }
    public static boolean FindAllUser(Connection con, List<User> list) {

        if (con == null) {
            return false;
        }

        try {
            String sql = "select * from t_user";
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery(sql);
            while (rs.next()) {
                User user = new User();
                user.setUserName(rs.getString("userName"));
                user.setPhone(rs.getString("phone"));
                user.setPassword(rs.getString("password"));
                user.setAddress(rs.getString("address"));
                list.add(user);
            }
            rs.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }
    public static void AddUser(Connection con,User user) {
        if(con==null) {
            return ;
        }

        try {
            String sql = "insert into t_user(userName,password,phone,address) values(?,?,?,?)";
            PreparedStatement pstmt = con.prepareStatement(sql);
            pstmt.setString(1, user.getUserName());
            pstmt.setString(2, user.getPassword());
            pstmt.setString(3, user.getPhone());
            pstmt.setString(4, user.getAddress());
            pstmt.executeUpdate();

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
    public static void DeleteUser(Connection con,String userName) {
        if(con==null) {
            return ;
        }

        try {
            String sql = "delete from t_user where userName=?";
            PreparedStatement pstmt = con.prepareStatement(sql);
            pstmt.setString(1, userName);
            pstmt.executeUpdate();

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    public static void UpdateUser(Connection con,User user) {
        if(con==null) {
            return ;
        }

        try {
            String sql = "update t_user set password=?,phone=?,address=? where userName=?";
            PreparedStatement pstmt = con.prepareStatement(sql);
            pstmt.setString(1, user.getPassword());
            pstmt.setString(2, user.getPhone());
            pstmt.setString(3, user.getAddress());
            pstmt.setString(4, user.getUserName());

            pstmt.executeUpdate();

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }





    public static void main(String[] args) {

        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            System.out.println("数据库驱动成功");
        } catch (ClassNotFoundException e) {
            System.out.println("未找到驱动");
        }
        Connection con = null;
        try {
            String connectDB = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test";
            String user = "sa";
            // 这里只要注意用户名密码不要写错即可
            String password = "123456";
            con = DriverManager.getConnection(connectDB, user, password);
            // 连接数据库对象
            System.out.println("连接数据库成功");
        } catch (Exception e) {
            System.out.println("连接数据库失败");
        }
        List<User> list = new ArrayList<User>();
        FindAllUser(con, list);
        PrintUsers(list);
        list.clear();

        User user = new User();
        user.setAddress("浙江丽水");
        user.setPassword("123456");
        user.setPhone("13023669854");
        user.setUserName("陈七");

        AddUser(con, user);
        FindAllUser(con, list);
        PrintUsers(list);
        list.clear();

        user.setAddress("修改");
        UpdateUser(con, user);
        FindAllUser(con, list);
        PrintUsers(list);
        list.clear();

        DeleteUser(con, "陈七");
        FindAllUser(con, list);
        PrintUsers(list);
        list.clear();

    }


}

img

`

和编码没关系,这是对象地址,要查看对象内容重写User toString方法