com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column '???è??é“?è??' in 'field list'at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)at com.mysql.jdbc.Connection.execSQL(Connection.java:3277)at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1402)at ...我其他地方以及傳進(jìn)SQL里面的參數(shù)的編碼都沒有問題,就是執(zhí)行jdbc中的executeUpdate()方法執(zhí)行sql插入數(shù)據(jù)時(shí)就出現(xiàn)這個(gè)問題。比如:String book_name = request.getParameter("book_name");//中文顯示正常String sql = "insert into shopping_car(name,book_name) values("123",book_name)";//編碼顯示正常,為中文stmt.executeUpdate(sql);//執(zhí)行該方法的時(shí)候就出現(xiàn)上面的亂碼錯(cuò)誤
6 回答

尚方寶劍之說
TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊
你數(shù)據(jù)庫服務(wù)器字符集是啥?在數(shù)據(jù)庫服務(wù)器執(zhí)行以下命令查看一下字符集先:
SHOW VARIABLES LIKE 'CHAR%';
完了將客戶端提交的數(shù)據(jù)的字符集設(shè)為和數(shù)據(jù)庫服務(wù)器字符集一樣...

慕桂英546537
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊
建議 MySQL 數(shù)據(jù)庫服務(wù)端和客戶端都使用UTF-8
編碼,MySQL 服務(wù)端編碼和客戶端連接URL如何設(shè)置,類似如下:
url="jdbc:mysql://localhost:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8"
參考:JDBC url for MySQL configuration to use utf8 character encoding
添加回答
舉報(bào)
0/150
提交
取消