关于在CORBA中,中文传输的问题,请指教,谢谢!50分(50分)

  • 主题发起人 主题发起人 tigerlion002
  • 开始时间 开始时间
T

tigerlion002

Unregistered / Unconfirmed
GUEST, unregistred user!
此问题所用方法见
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=316484
用此方法传数字,英文都没有问题,但是中文传到服务器端时为“?”,
不管在客户端中文有多长,在服务器端只有一个“?”,请教该如何处理?
我想方法没有问题,只是不知问题出自何处?
 
怎么给例子?给什么例子?
 
http://www.delphibbs.com/delphibbs/DispQ.asp?LID=309477
里有流的例子
 
to gcq,
谢谢,我试一试吧,不知还有没有其他办法.增加150分,请大家继续指点.
 
问号说明你的服务端的Unicode解析不了你的传输,
1。看看区域设置的对不对
2。用wideString类型试试,我一般都用这种类型
3。VC中有转换UNICODE的宏,好像是_T 或者是 _L,不知delphi是否支持。
如果支持可能也是支持PCHAR类型。
 
to crane:
在客户端我用的是wideString,“区域设置”是否指“控制面板”中的“区域设置”
中的“输入地区”?我试一试吧。谢谢!
 
救命,老板下周五验收,请教高手!!!
 
我在Delphi5中,使用ClientDataSet的DataRequest和Provider的OnDataRequest事件来
传中文没问题。关键是要声明一个WideString 变量,然后把DataRequest传来的中文字符
赋值给WideString变量,即可。
Server端的代码如下。
function TTestServer.testDataRequest(Sender: TObject;
Input: OleVariant): OleVariant;
var arg:WideString;//Important
begin
Table1.active:=true;
arg:=Input;//Important
Table1.filter:='name='#39+arg+#39;//no use.
result:=test.Data;
end;
 
谢谢cbx,待我调试之后给大家加分。
 
接受答案了.
 
后退
顶部