来自NFC芯片的数据包含奇怪的符号?Android/Java



我希望有人可以帮助我,这就是情况:

我有一个NFC芯片(Mifare Classic 4K),我读了一些信息(这是一张学校卡,所以我读了学生编号,例如。)

当我阅读它时,然后将其放在我的文本视图中:

mtextview.setText(cardData);

我明白了:" 1330955"

当我在System.out.println()中写出它时:

system.out.println(carddata);

我明白了:" 1330955 ???????????????

当我尝试通过JDBC将其放入数据库中时

            try {
                String sql = "insert into studentCards (studentNumber, title, firstName, lastName, dateOfBirth, gender)" + " VALUES(?,?,?,?,?,?)";
                DriverManager.setLoginTimeout(5);
                conn = DriverManager.getConnection(url);
                PreparedStatement pStatement = conn.prepareStatement(sql);
                pStatement.setInt(1, cardData);
                pStatement.setString(2, title);
                pStatement.setString(3, firstName);
                pStatement.setString(4, lastName);
                pStatement.setString(5, dateOfBirth);
                pStatement.setString(6, gender);
                int rs = pStatement.executeUpdate();
                return retval = Integer.toString(rs);

            } catch (SQLException e) {
                e.printStackTrace();
                return retval = e.toString();
            } finally {
                System.out.println("Closing the connection.");
                if (conn != null) try { conn.close(); } catch (SQLException ignore) {}
            }

我得到了:

" 1330955 0 0 0 0 0 0 0 0 0 0 0"作为学生编号...

我尝试了一切...如何在数据库中获取数字(1330955)?我什至尝试使用split()函数,但这不起作用。

你们中的一个可以帮我吗?如果您需要更多信息,请让我知道!

已解决!

我必须在carddata上使用.trim()。

使用Java本机类字符串

的方法Trim()

最新更新