亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java中jdbc/sql出現編碼問題

java中jdbc/sql出現編碼問題

大話西游666 2019-03-14 14:11:55
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 ...我其他地方以及傳進SQL里面的參數的編碼都沒有問題,就是執行jdbc中的executeUpdate()方法執行sql插入數據時就出現這個問題。比如:String book_name = request.getParameter("book_name");//中文顯示正常String sql = "insert into shopping_car(name,book_name) values("123",book_name)";//編碼顯示正常,為中文stmt.executeUpdate(sql);//執行該方法的時候就出現上面的亂碼錯誤
查看完整描述

6 回答

?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

你數據庫服務器字符集是啥?在數據庫服務器執行以下命令查看一下字符集先:

SHOW VARIABLES LIKE 'CHAR%';

完了將客戶端提交的數據的字符集設為和數據庫服務器字符集一樣...


查看完整回答
反對 回復 2019-04-18
?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

弄好了,原來在原始的jdbc操作中字符串一定要用單引號引起


查看完整回答
反對 回復 2019-04-18
?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

建議 MySQL 數據庫服務端和客戶端都使用UTF-8編碼,MySQL 服務端編碼和客戶端連接URL如何設置,類似如下:

url="jdbc:mysql://localhost:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8"

參考:JDBC url for MySQL configuration to use utf8 character encoding


查看完整回答
反對 回復 2019-04-18
  • 6 回答
  • 0 關注
  • 699 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號