起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2484|回复: 8

[结贴] 查询出来的组合字段中文乱码

[复制链接]

38

主题

153

帖子

549

积分

高级会员

Rank: 4

积分
549
QQ
发表于 2014-5-28 11:55:35 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
想在查询里做个组合字段
其中 table pubcode(id string,
            pcseq int,      *数值
            pccode string)  *中文内容 如“基本单位”


select *, concat(pcseq,'-',pccode) as seqcode from pubcode;

在X5里面查询出来的seqcode中文都乱了!!!
在mysql里面是正常的

乱码的样子

乱码的样子

在mysql里面正常

在mysql里面正常

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2014-5-28 13:46:14 | 显示全部楼层
不是组合的中文显示就没问题吗?
参考http://bbs.justep.com/forum.php?mod=viewthread&tid=46324在url上设置一下编码看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

38

主题

153

帖子

549

积分

高级会员

Rank: 4

积分
549
QQ
 楼主| 发表于 2014-5-28 15:03:24 | 显示全部楼层
jishuang 发表于 2014-5-28 13:46
不是组合的中文显示就没问题吗?
参考http://bbs.justep.com/forum.php?mod=viewthread&tid=46324在url上设 ...


这里其他字段的中文都正常!
就是 用了 concat( pcseq,'-',pccode) 出来的中文不正常!
pcseq 是int
pccode 是string 中文内容
用 concat( 1,'-',pccode) 出来的中文都正常!
就是 用了 concat( pcseq,'-',pccode) 出来的中文不正常!

在X5里面有很多莫名的东西, 搞的很累
回复 支持 反对

使用道具 举报

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
发表于 2014-5-29 15:10:49 | 显示全部楼层
mysql在concat时,如果类型不同,会产生乱码
使用convert进行类型转换,解决问题
例如 select ER_WPXX.*,concat(SQL.convert(ER_WPXX.faaa, SQL.char), ER_WPXX.fWPMC) as faaa2
    from ER_WPXX ER_WPXX
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

38

主题

153

帖子

549

积分

高级会员

Rank: 4

积分
549
QQ
 楼主| 发表于 2014-5-29 18:28:09 | 显示全部楼层
但为什么同一语句, 在mysql里面执行, 不会乱码呢?
回复 支持 反对

使用道具 举报

310

主题

4938

帖子

4767

积分

论坛元老

Rank: 8Rank: 8

积分
4767
QQ
发表于 2014-5-29 22:13:13 | 显示全部楼层
yangho 发表于 2014-5-29 18:28
但为什么同一语句, 在mysql里面执行, 不会乱码呢?

KSQL有一定的局限性,很多sql里能用的语法,在ksql里就是不能用

concat是KSQL特有的函数,在sql里是用不了的
QQ:179785966
回复 支持 反对

使用道具 举报

45

主题

4492

帖子

3960

积分

论坛元老

Rank: 8Rank: 8

积分
3960
QQ
发表于 2014-5-29 23:00:25 | 显示全部楼层
楼主,你是否用的是自己安装的MYSQL数据库?你MYSQL数据库的字符集是什么?
平台提供的MYSQL数据库是UTF8,如果你用其它的字符集,很有可能什么乱码;

你可以对MYSQL数据库的字符集进行统一一下,都采用UTF8,省的出现乱码问题;
MYSQL数据字符集设置,你可以上网查一下,网上有很多现成的答案。
向前进,向前进,我们……
回复 支持 反对

使用道具 举报

38

主题

153

帖子

549

积分

高级会员

Rank: 4

积分
549
QQ
 楼主| 发表于 2014-5-30 09:12:33 | 显示全部楼层
yinlun 发表于 2014-5-29 22:13
KSQL有一定的局限性,很多sql里能用的语法,在ksql里就是不能用

concat是KSQL特有的函数,在sql里是用不 ...

mySql里面也有concat函数, 在X5里面的ksql按介绍使用"sql."前缀引用数据库函数sql.concat
但结果也一样,就可能没有使用到数据库函数了。那么这个"sql."也有问题啊!
回复 支持 反对

使用道具 举报

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
发表于 2014-5-30 10:32:57 | 显示全部楼层
你可以自己写一段java代码,写sql从mysql获取不同类型字段concat之后的值,你就能看到乱码了。或者上网查一下,就知道这是mysql的问题了。至于mysql的客户端软件,它本身进行了处理,得到的结果才是正确的。
也可以测试一下其它数据库,例如ORACLE数据库,就没有这个问题,所以这是mysql的问题,不是ksql的问题
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-1 23:13 , Processed in 0.077907 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表