麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MySQL > 正文

JDBC連接mysql處理中文時亂碼解決辦法詳解

2024-07-24 13:14:51
字體:
來源:轉載
供稿:網友

JDBC連接mysql處理中文時亂碼解決辦法詳解

近日,整合的項目需要跟一個比較老版本的mysql服務器連接,使用navicat查看,發現此mysql服務器貌似沒有設置默認編碼,而且從操作此mysql的部分php文件看,應該是使用的gb2312的編碼,但是,直接使用jdbc操作,從庫中讀取出來的中文全都是亂碼。

一開始,使用類似entity.setDepartName(new String(rs.getString("hg").getBytes("gbk"), "utf-8"));的方式,試圖進行強制的編碼轉換,結果失敗了,因為,無論采用何種方式,轉出來的字符總是各種各樣的亂碼,只是每次亂的方式都不一樣。比較郁悶。而且,此項目由于使用的其他的產品,無法在其中再加額外的類似過濾器之類的東西,所以這個問題不是很好處理。

使用navicat連接查詢,沒有問題,因此,試著將某個表導出sql,查看DDL中是否有關于編碼的設置,結果讓我很失望,編碼這一塊直接沒寫。于是,將導出的sql文件修改擴展名為html,使用IE打開,發現沒有亂碼,查看此時的編碼格式果然是“gb2312”,但是,使用java強制的轉碼已無濟于事。怎么辦呢?

而且,此項目已運行多年,后期維護有些缺乏,my.ini文件也更是無法查看并修改的。

突然想起,mysql連接的時候可以加上參數,并且有些參數是指定編碼的,這樣是不是可以解決問題呢?

于是修改連接字符串(原值為:url="jdbc:mysql://192.168.18.254:3306/web_oa)為:

url="jdbc:mysql://192.168.18.254:3306/web_oa?useUnicode=true&characterEncoding=gbk"

重啟應用,查看,OK!中文很正常。

問題解決。

這種方式其實是在連接時指定使用gbk的編碼格式,從而避免客戶端與服務端各自使用自己默認的編碼格式交互,只要配置合適,不會出現亂碼問題。

如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产成人高清在线观看 | 精品中文一区 | 国产精品久久久久久久娇妻 | 欧美特一级 | 亚洲精品一区中文字幕 | 91精品观看91久久久久久国产 | 精品国产91久久久久久浪潮蜜月 | 国产精品一区久久久久 | 国产一区视频在线观看免费 | 毛片免费视频观看 | 久久综合入口 | 高清做爰免费无遮网站挡 | 成人做爰高潮片免费视频韩国 | 黄色av免费电影 | 成人精品一区二区 | 久久精品国产亚洲7777小说 | 欧美精品久久久久久久多人混战 | 亚洲精品一区中文字幕 | xxx日本视频 | 欧美日韩在线视频一区 | 大片毛片 | av手机在线免费播放 | 欧美一级片一区 | 国产日产精品久久久久快鸭 | 2021国产精品视频 | 毛片免费大全短视频 | 国产成人自拍视频在线 | 国产一区免费观看 | 久久99深爱久久99精品 | 激情影院在线观看 | 美女污污视频在线观看 | 亚洲视频在线网 | 欧美a∨一区二区三区久久黄 | h视频免费在线观看 | 亚洲国产午夜精品 | 国产精品久久久久久久亚洲按摩 | 成人av一二三区 | 91精品国产综合久久久动漫日韩 | 亚洲精品有限 | 日本黄色一级电影 | 午夜精品老牛av一区二区三区 |