+ -
当前位置:首页 → 问答吧 → 程序调用存储过程返回结果乱码

程序调用存储过程返回结果乱码

时间:2011-11-14

来源:互联网

1.存储过程是针对oracle数据库的,存储过程是写在程序中的,当调用存储过程时,返回的结果出现中文 ??? 的乱码问题。
2.容器用的weblogic,应用的服务器和数据库服务器在不用的机器上。
3.在本地部署到tomcat没有问题。

作者: addframe   发布时间: 2011-11-14

是不是语言环境的问题呢

作者: rfb0204421   发布时间: 2011-11-14

检查一下字符集。
看看应用服务器的字符集与数据库服务的字符集是否一致,是否支持中文。

作者: yixilan   发布时间: 2011-11-14

引用 2 楼 yixilan 的回复:
检查一下字符集。
看看应用服务器的字符集与数据库服务的字符集是否一致,是否支持中文。


我把应用服务器的字符集设置成和数据库的字符集是一样的,还是不行

作者: addframe   发布时间: 2011-11-14

大家对这个问题还有什么看发呢?急啊 。。。

作者: addframe   发布时间: 2011-11-14

返回的是简单字符还是数据库里定义的字符数组,简单字符检查字符集,实在不行根据乱码特征用

new String("".getBytes("原编码"),"现编码") 蒙一下,转成汉字就看到是什么地方了。

再说,你确定你真正能改明白应用服务器的字符设置了?

作者: forgetsam   发布时间: 2011-11-14

引用 5 楼 forgetsam 的回复:
返回的是简单字符还是数据库里定义的字符数组,简单字符检查字符集,实在不行根据乱码特征用

new String("".getBytes("原编码"),"现编码") 蒙一下,转成汉字就看到是什么地方了。

再说,你确定你真正能改明白应用服务器的字符设置了?


我这用的是hpunix 我把etc/profile 文件中设置了export LANG=zh_CN.gb18030

作者: addframe   发布时间: 2011-11-14

现在的情况是这样的:在程序中执行存储过程,返回的字符串是 ????的乱码

作者: addframe   发布时间: 2011-11-14

大家还有意见么?谢谢拉,这个问题今天一定要解决,急啊 ... 5555555555

作者: addframe   发布时间: 2011-11-14

将所有设置字符集的位置的字符集都设置成utf-8

在设置完数据库之后,可以新建一个表,然后用utf-8存入中文数据,然后写一个测试存储过程读一下,测试一下是否乱码。

如果不乱,说明你存的数据已经有问题了,需要重新存入。

作者: LuiseRADL   发布时间: 2011-11-14

引用 9 楼 luiseradl 的回复:
将所有设置字符集的位置的字符集都设置成utf-8

在设置完数据库之后,可以新建一个表,然后用utf-8存入中文数据,然后写一个测试存储过程读一下,测试一下是否乱码。

如果不乱,说明你存的数据已经有问题了,需要重新存入。


就是说,还是数据库的问题是吧

作者: addframe   发布时间: 2011-11-14