当我从应用程序向 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());
}
}
这里用图片来理解问题
最佳答案
您的应用程序未正确处理数据。
连接MySQL服务器时需要设置字符集。
Perhaps by running the command SET NAMES 'UTF8';
作为连接脚本的一部分。
This answer states that您甚至可以将其作为 DATA_BASE_BATH
中的 JDBC 连接字符串的一部分在 getConnection() 函数调用中引用时,as does this one .
关于java - 从java应用程序(mysql,javafx)插入阿拉伯语数据时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61781432/