问题现象
在Mysql中使用concat拼接2个字段,中间有中文。在数据库工具或者mysql命令行中中文都是正确显示,但是转为java对象时显示成乱码。
问题原因
由于连接的字段类型不同导致 如下方sql
select CONCAT(mmjpg_detail.height,'和',mmjpg_detail.descs)as file from mmjpg_detail
- mmjpg_detail.height字段是int形式,而mmjpg_detail.descs是varchar。这样拼接出来的中文在转成java对象就会出现中文乱码问题。
解决方法
是用mysql的字符串转换函数CONVERT
- 上方的sql改为方法的sql。加入 CONVERT 即可。
select CONCAT( CONVERT(mmjpg_detail.height,char),'*',mmjpg_detail.descs)as file from mmjpg_detail