java - 从java应用程序(mysql,javafx)插入阿拉伯语数据时出现问题

标签 java mysql sql javafx

当我从应用程序向 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());
        }
    }

这里用图片来理解问题

database image - 第一行是来自应用程序的数据条目 -第二行是从 phpmyadmin 手动输入的数据

最佳答案

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

连接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/

相关文章:

java - 使用流 java 8 从列表中搜索包含寄存器内部分文本的寄存器

sql - 创建一个应该通过连接表中其他列中的值自动生成的列

java - 没有 Hibernate Session 绑定(bind)到线程异常

java - 无法将 xml 文件中的 r.id 与主要 Activity 匹配

javascript - 从前端到后端再到前端发送数据

mysql - 如何在不丢失前导零格式的情况下增加 MAX 值

Java - 将记录插入数据库时​​,executebatch 不起作用

mysql - 获取数据库中每年的记录数

sql - 在数据库中查找坐标的最快方法

java - 使用 Solr 索引文件会阻塞文件