2014-01-11 95 views
1

繼續我剛纔的問題https://stackoverflow.com/questions/21060720/jsp-upload-file-with-utf-8-encodingJDBC預處理語句UTF-8

我發現,當我這樣做:

String url = "jdbc:mysql://localhost:3306/crm2?useUnicode=yes&characterEncoding=UTF-8"; 
Class.forName ("com.mysql.jdbc.Driver").newInstance(); 
connection = DriverManager.getConnection (url, MY_USERNAME, MY_PASSWORD); 

PreparedStatement pst = connection.prepareStatement(sql); 
. 
. 
. 

pst.setString(1, customer.getFullName()); 
. 
. 
. 
pst.executeUpdate(); 

我得到了以下SQL異常:

你有一個錯誤你的SQL語法;檢查 對應於你的MySQL服務器版本正確的語法使用 附近「(name =‘?......?±手動?§?†’

正如你可以看到我在所提到字符串也使用編碼UTF-8! 看起來像我所要做的PST別的使用UTF-8?

感謝

+0

在這裏添加sql –

+0

什麼是sql可能是錯誤的原因是sql是空或錯 – xxlali

+0

這是SQL:String sql =「更新線索集('name' =?,'status' =?, 'country' =?,'campaign' =?,'age' =?,'language' = ?,'email' = ?,'phone'=?,'mobile'=?)其中'lead_id' =?「;但正如前面提到的問題是與我的編碼,請注意錯誤消息正在轉換名稱爲其他編碼 –

回答

1

讀取和寫入使用UTF-8數據的數據庫是當投保Java源代碼文件編碼爲UTF-8非常重要,否則當我們開始操作時會出現奇怪的事情我們收到(或發送)數據庫的字符串。

+0

非常感謝:)你只是給我一個藉口睡覺今晚: d –