当我从应用程序向mysql数据库输入数据时出现问题,它以“ ????”的形式出现但是,当我通过“ phpmyadmin”输入数据时,数据正常显示
问题是当我通过应用程序输入数据时,
与数据库无关
我尝试更改数据库和表以及表内字段的编码的任何方式

这是我的应用程序中的插入查询

 public static void dbConnect() {
        try{
        Class.forName(DRIVER);
        connector = DriverManager.getConnection(DATA_BASE_BATH, "root", "");
        insert = connector.prepareStatement("INSERT INTO students VALUES (?,?,?,?)");

        }
public static void insert(int id , String name , String special , double gpa){
        dbConnect();
        try{
        insert.setInt(1, id);
        insert.setString(2, name);
        insert.setString(3,special);
        insert.setDouble(4,gpa);
        insert.execute();
        }
        catch(SQLException e){
            System.out.println(e.getMessage());
        }
    }


这是了解问题的图片

java - 从Java应用程序(mysql,javafx)插入时的阿拉伯数据问题-LMLPHP
-第一行是来自应用程序的数据条目
-第二行是从phpmyadmin手动输入的数据

最佳答案

您的应用程序未正确处理数据。

您需要在与MySQL服务器的连接过程中设置字符集。

Perhaps by running the command SET NAMES 'UTF8';作为连接脚本的一部分。

This answer states that在getConnection()函数调用as does this one中引用时,甚至可以使其成为DATA_BASE_BATH中JDBC连接字符串的一部分。

09-11 19:28
查看更多