問題現(xiàn)象
在Mysql中使用concat拼接2個字段,中間有中文砾层。在數(shù)據(jù)庫工具或者mysql命令行中中文都是正確顯示,但是轉(zhuǎn)為java對象時顯示成亂碼。
問題原因
由于連接的字段類型不同導(dǎo)致 如下方sql
select CONCAT(mmjpg_detail.height,'和',mmjpg_detail.descs)as file from mmjpg_detail
- mmjpg_detail.height字段是int形式瑰抵,而mmjpg_detail.descs是varchar。這樣拼接出來的中文在轉(zhuǎn)成java對象就會出現(xiàn)中文亂碼問題器联。
解決方法
是用mysql的字符串轉(zhuǎn)換函數(shù)CONVERT
- 上方的sql改為方法的sql二汛。加入 CONVERT 即可。
select CONCAT( CONVERT(mmjpg_detail.height,char),'*',mmjpg_detail.descs)as file from mmjpg_detail