Web services Delphi Web服务导入器与NonAscii字符问题

Web services Delphi Web服务导入器与NonAscii字符问题,web-services,delphi,Web Services,Delphi,我正在使用Delphi2009更新2。 Borland WSDLIMP版本2.3-$Rev:16699$ 为什么标识符rápido显示为r_pido? 角色去了哪里? 这是WSDLIMP错误还是MS XML错误? 感谢您的回复 File.XSD <?xml version="1.0" encoding="UTF-8"?> .... .... .... <xs:simpleType name="displayName"> <xs:restriction base="s

我正在使用Delphi2009更新2。 Borland WSDLIMP版本2.3-$Rev:16699$

为什么标识符rápido显示为r_pido?
角色去了哪里?
这是WSDLIMP错误还是MS XML错误?

感谢您的回复

File.XSD

<?xml version="1.0" encoding="UTF-8"?>
....
....
....
<xs:simpleType name="displayName">
<xs:restriction base="st">
<xs:enumeration value="rápido"/> //-----> attention !!!
<xs:enumeration value="lento"/>
....
....
....
myService.pas

.....
.....
unit myService.pas;

interface

uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns;
......
.....
displayName = (
r_pido, //---> attention!!! á Where did it go?
lento);

我不太清楚你的意思,但我怀疑拉皮多的人。尝试在rapido中使用“a”。

rápido是delphi 2009的正确标识符(delphi 2009完全支持unicode)

我看到您几周前问过这个问题

我怀疑WSDLImp实用程序没有更新Delphi2009的Unicode支持。相反,它会继续生成与早期版本相同的Delphi源文件,从而确保任何Delphi版本都可以使用生成的源文件。该实用程序尚未收到重大更新的一个线索是,它仍然将自己列为Borland产品,而不是CodeGear或Embarcadero。仅仅因为它是重新编译的,并且有不同的版本号(2.2和2.3),并不意味着它得到了与编译器和IDE相同的大修,这是生成Unicode源文件所必需的

需要检查的一件事是,您的文件确实被编码为UTF-8。文本
字符在UTF-8中编码为两个字节,因此它不一定在编辑器中显示为该字符。确保文件中包含该字符所在的字节C3 A1。如果没有,那么您可能只是看到WSDLImp如何处理输入文件中的无效字节

我怀疑WSDLImp实用程序没有 bee针对Delphi 2009的Unicode进行了更新 支持

c:\Program files\codegear\rad studio\6.0\source\win32\soap\wsdlimporter\WSDLImp.dpr再次使用delphi 2009编译

要检查的一件事是你的文件 真的被编码为UTF-8


使用记事本打开file.xsd。另存为-->编码-->UTF8-->保存

我无法对此文件进行更改。XSD是什么让您认为这可能是MS XML的问题?这就是Delphi用来处理XML的方法吗?此外,德尔菲语言本身是否理解“rápido”一词?这个词可以在Delphi中用作标识符吗?Delphi 2009不应该有问题(因为它是第一个完全unicode的版本),但显然用a代替了a。我已经更新了我的答案以回应这个“答案”。如果你需要改进你的问题,请编辑你的问题。页面底部的答案用于回答您的问题。你没有回答你的问题。
.....
.....
unit myService.pas;

interface

uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns;
......
.....
displayName = (
r_pido, //---> attention!!! á Where did it go?
lento);