mysql中latin1編碼中文轉utf8


在mysql中,對應的表字段編碼通常默認為lartin1編碼,在本地客戶端顯示的時候看着是亂碼,但是通過mysql -u -p -h命令登錄后,select查詢到數據是正常的,通過jdbc或者php等去取回來的中文是亂碼;

 

也就是中文在mysql中是lartin1,到我們自己本地或者用navicat等select卻是亂碼,使用mysql內置函數來轉換一下

 

SELECT convert(unhex(hex(convert(name using latin1))) using utf8) as name FROM test  

 

上面語句意思為,在表test中,字段name編碼為lartin1查詢后結果轉換為utf8編碼結果

 

ps(吐槽一下!!!):看到很多人還要通過jdbc查詢的時候又要set names lartin1,還要new String(rs.getString("SampleColumnName").getBytes("ISO-8859-1"), "UTF-8"),扯了一大堆,最后結果還是亂碼,有毛用,一個mysql內置函數就搞定了,理解起來也簡單

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM