java 开发corba遇到的问题,十万火急!!!!!!!!!!

ltq_77 2001-08-09 01:44:10
我正在做一个基于corba的系统,Server端用c++,Client端用java
可是每次从Server接收到的汉字(server端正常)全变成了乱码,网上一些资料说
设置 vbjc -encoding iso-8859-1 *.java
可以解决,可我试了,也没用,无论是iso还是GBK编码格式都不行,
请各位给出点主意,指点迷津,我承诺问题解决后,我将把整个开发中解决
的技术难点,奉献给所有热心的大哥,大姐们。
请gg,jj,dd,mm们帮忙啊,或者有认识的人做过这方面的项目帮我问问也好。
我的电话:62501988-8153
...全文
404 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
fat1 2001-08-22
  • 打赏
  • 举报
回复
corba中文论坛:
http://www.deping.net/cgi-bin/lbbs/leoboard.cgi
corba人有家了。
klyla 2001-08-15
  • 打赏
  • 举报
回复
兄弟无需顾虑,水到渠成也。
PeterLiu 2001-08-14
  • 打赏
  • 举报
回复
各位:如下问题
Server端:
CORBA::Short CPaymentMethod:: getPayment(CORBA::WString_out _PaymentName)
{
.........
_PaymentName = CORBA::wstring_dup((const unsigned short *)"XX卡支付");
.........
}

Client端:
StringHolder PaymentName = new StringHolder();

//调用上面Server端的CORBA对象中的方法
int i = m_MyORB.m_myPaymentMethod.getPayment(PaymentName);

System.out.println("Payment=" + PaymentPlugin.value);//无法显示中文????
PeterLiu 2001-08-14
  • 打赏
  • 举报
回复
感谢ltq_77(aa)的回答!
cming 2001-08-13
  • 打赏
  • 举报
回复
或者简单点.
直接a=b;
这是一种deep copy.
ltq_77 2001-08-13
  • 打赏
  • 举报
回复
Shanghai Peter.Liu先生,你的来信我已收到,今天邮件发不出,在这里回答吧。我做的是一个电信ip网管的项目,其实代码并不复杂,我认为技术问题集中在C++实现的server端,java与idl映射的相当完美,不存在太多问题,c由于指针的原因显得复杂一些。
遇到的问题有:
1.struct的映射
2.sequence的映射,如何返回一个sequence类型的变量,包括interface的sequence.
3.event的实现。
4.不知你遇到没遇到这样的问题
struct MyStruct
{ string name;
string spell;
}

interface a{
attribute MyStruct property;
}
映射后在实现代码中有
property(MyStruct * _property);
MyStruct_ptr property();
为实现这两个方法我在实现类aImpl中定义private MyStruct_ptr temp;
做为存放信息的指针变量,可是除在property()方法体内之外,temp是一个空指
针,不知道为什么corba会把这个指针释放,我得不到想要的值。有解决这个问题的同志回答一下。
ltq_77 2001-08-13
  • 打赏
  • 举报
回复
白云蓝天兄,我又遇到了麻烦,救我啊。
用什么办法可以从char * 转换成wchar*。
我做的一个访问数据库的东东,有方法statement->get_string(char* value);
可是我希望取出的是wchar *。
另外有没有办法即使使用string类型也不会出现乱码问题?我好像是用的iso8859-1的方式
解决的,可现在怎么也实现不了,真要命。
怎样把分给你呀?
cming 2001-08-11
  • 打赏
  • 举报
回复
String_var是个包含char* 的类.代替你做一些经常会忘记的free memory的工作.
namespace CORBA
{
char* *string_alloc(ULong len);
char* *string_dup(const char*);
void string_free(char*);
...
}
拷贝String_var可以用 string_dup来产生内存的拷贝.再把指针付给另外一个String_var即可.
WString_var一样.
另外问一下,中文问题解决了?
riverhorse 2001-08-10
  • 打赏
  • 举报
回复
关注。不知道为什么java 常出中文显示的问题,我用各种JDBC去连Oracle, SqlSer,为了取得正确的汉字,得不停的测试各种方法,也是被搞得很掺。
cming 2001-08-10
  • 打赏
  • 举报
回复
我想更C++的Server端没有关系,还是java的unicode转化上出了问题.中文问题以前有很多,转化一下再试试.我从来都是用英文.
ltq_77 2001-08-10
  • 打赏
  • 举报
回复
同志们请多帮忙,解决不了这个问题,饭碗就没了,有做过这方面的大侠请出个主意
ltq_77 2001-08-10
  • 打赏
  • 举报
回复
马兄,我的邮件是ltq_77@sina.com,再联系。
ltq_77 2001-08-10
  • 打赏
  • 举报
回复
经过borland公司的visibroker专家咨询,证明David_lin()同志是正确的,在此表示感谢,希望常交流,DrunkenLion(一片绿叶)打来了电话。所有参加交流的人,谢谢你们。过两天我要把心得
写 成文章放在这里,请大家提意见。我还有的问题是:
如何把一个CORBA::WString_var类型的变量赋给另外一个CORBA::WString_var类型的变量。
用起来CORBA::WString_var好别扭啊。
DrunkenLion 2001-08-10
  • 打赏
  • 举报
回复
ltq_77
你好啊,呵呵,刚才是我打的电话,
David_lin 2001-08-10
  • 打赏
  • 举报
回复
这个问题和编码格式无关,主要是IDL文件的问题,CORBA处理字符串有:String和wstring两种类型,string类型主要用于处理ASCII类型的字符串,wstring用于处理多字节的字符串,例如:中文。所以,你在定义你的IDL文件时,凡是有用到中文的接口方法的参数,要用wstring来代替string类型即可,祝你好运!
Yezq_ln 2001-08-10
  • 打赏
  • 举报
回复
我碰到过这样的问题并解决了:

在bean里把汉字写到文件里,读出来结果是乱码

换了好多流的组合都不行,

用的JDE是1.3

结果换了一个运行环境1.3.0_02以后就可以显示汉字了

现在1.3.1都出来了,用它估计能解决乱码的问题。

我没用过1.3.1,我想应该行的,因为1.3.0_02都行

呵呵

ltq_77 2001-08-09
  • 打赏
  • 举报
回复
大侠:
我server端用的是c++,怎么用byte[]传汉字呀
seasun2k 2001-08-09
  • 打赏
  • 举报
回复
用byte[]传汉字,在java的客户方用StringBuffer(,“gb2312");就可以了。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧