我希望有人能幫助我,這是的情況:來自NFC芯片的數據包含奇怪的符號? Android/Java
我有一個NFC芯片(Mifare Classic 4k),我讀了一些信息(這是一張學校卡,所以我讀了學生數例)
當我讀出來,並把它放在我的TextView這樣的:
mTextView.setText(cardData);
我得到這個: 「1330955」
當我寫出來的的System.out.println()這樣的:
的System.out.println(cardData);
我得到這個: 「1330955 ????????????????」
當我試圖把它放在一個數據庫中,通過JDBC和PreparedStatement這樣的:
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" 學號...
我什麼都試過了......我如何才能在數據庫中保存數(1330955)? 我甚至試圖使用split()函數,但是這不起作用。
您可以幫我嗎?如果您需要更多信息,請告訴我!
解決了!
我不得不使用.trim()上cardData。
你試過cardData.trim()嗎? – cesztoszule
謝謝你的工作!我不知道該如何謝謝你!我一直在努力爲這樣的4或5小時... – Summergirl012
沒問題,只是標記爲正確的答案。 – cesztoszule