2011-07-12 64 views
0


我在Flex中有一个应用程序如何在UTF-8中创建和XML。当我打开它时,一切都很好。
我使用web服务将它发送到服务器(xml发送像字符串),服务器接收XML,但所有的口音,学位符号和其他一些东西都消失了。发送XML到WebService

我创建一个XML并将其保存在一个文件

var xml:XML = myObject.xml; 
file = new File(myObject.path); 
var fileStream:FileStream = new FileStream(); 
fileStream.open(file, FileMode.WRITE); 
fileStream.writeUTFBytes("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + xml); 
fileStream.close(); 

后来我重新打开它,并把它

var file:File = new File(myObject.path); 
var fileStream:FileStream = new FileStream(); 
fileStream.open(file, FileMode.READ); 
var xmlText:String = fileStream.readUTFBytes(fileStream.bytesAvailable); 
var call:Object = service.AirSave("username", "password", xmlText); 
call.addResponder(responder); 

我的XML的一部分

<Gen Name="App1"> 
    <Fam Name="Date"> 
    <Peo> 
     <First>René</First> 
     <Last>Jean</Last> 
    </Peo> 
    <Peo> 
     <First>François</First> 
     <Last>Jean</Last> 
    </Peo> 
    </Fam> 
</Gen> 

有人知道为什么以及如何解决它?
谢谢

+0

你是如何创建字符串?你可以显示代码&xml。 –

+0

我把它添加到我的问题中 – Snote

+0

我不确定你为什么首先将它保存到磁盘,但在我看来,你在某处丢失了你的信息。我会在调试中检查每个字符串,看看你丢失了哪些字符。你如何将它发送到服务器(即什么是'服务')? –

回答

0

好的我找到了问题。

服务器将文件的内容保存在数据库中,但SQL Server不支持UTF-8。所以拜拜口音。