mysql+mybatis sql语句返回乱码

请教一个问题:mysql+mybatis
sql 语句中用了CONCAT 方法来拼接两个时间类型的字段:
图片说明
图片说明
运行sql语句后效果显示正常:
图片说明
但是在程序中返回的数据格式是错误的:
图片说明
按说返回String类型的字段后应该没有问题的,不知为何错误

5个回答

我把sql语句改成了这样好了图片说明

这不是乱码,是加密文件吧

u010407061
u010407061 可我没有加密的处理呀,现在页面中显示这么一串没法看。。。
大约 3 年之前 回复

编码没设置好,确保数据库,数据库服务,jsp页面,项目编码为一样

u010407061
u010407061 我一开始也觉得是编码的问题,但是假如说我sql语句中不用CONCAT函数,直接返回b.examstarttime一个时间类型的字段,页面中显示都是没有问题的。但通过CONCAT函数拼接后应该已经变成了字符串类型吧,怎么字符串反而有编码问题了呢?
大约 3 年之前 回复

mybatis中设置编码 在访问数据库设置后添加
?useUnicode=true&characterEncoding=utf

ifkirin
ifkirin 回复u010407061: 是不是连接的两个数据类型不一样呢,比如一个int,一个varchar就会出现乱码。可以配合 CONVERT用一下试试。
大约 3 年之前 回复
u010407061
u010407061 我是这样写的,没有啥用,我一开始也觉得是编码的问题,但是假如说我sql语句中不用CONCAT函数,直接返回b.examstarttime一个时间类型的字段,页面中显示都是没有问题的。但通过CONCAT函数拼接后应该已经变成了字符串类型吧,怎么字符串反而有编码问题了呢?
大约 3 年之前 回复

是不是连接的两个数据类型不一样呢,比如一个int,一个varchar就会出现乱码。可以配合
CONVERT用一下试试。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问