0

我编写了一个 Ajax 请求来发布数据。webservice XML 信息如下所示:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xmlns:xsd="http://www.w3.org/2001/XMLSchema"     xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
<AddNewStory xmlns="http://X.X.X.X/StoryForMac/">
  <StoryID>+story_id+</StoryID>
  <UserName>+User_Name+</UserName>
  <Story_CreateTime>+Story__CreateTime+</Story_CreateTime>
  <StoryName>+Story_Name+</StoryName>
</AddNewStory>
  </soap:Body>
</soap:Envelope>


        $.ajax({
            type: "POST",
            url: webServiceAddNewStoryImgUrl,
            contentType: "text/xml",
            dataType: "xml",
            data: soap_add_new_story_image,     
            success: process_update_pic_success,
            error: process_add_new_img_Error        
        }); 

我从文本文件中获取中文字符串,将其分配给变量 Story_Name。之后,我向webservice发出请求,但中文字符串显示????????。无论我输入什么,它都只是显示中文字符串“??????”....

据我所知,在 web 服务上声明的字符串(用 C# 实现)被编码为 Unicode,而 javascript 字符串也被编码为 UTF-8(?)。
我不明白为什么会这样。
我做了一个测试:我在webservice上运行调试器,直接输入中文字符串。这一次,它显示正确!
为什么会这样?


ps:我基于Android系统创建应用,使用PhoneGap API读取移动设备上的字符串。
有什么建议吗??


请提供任何帮助或建议。我在这个问题上花了几天时间,尝试了很多方法,但都是徒劳的。

4

1 回答 1

0

有一个例子显示@ http://www.webtoolkit.info/javascript-utf8.html

-谢谢

于 2012-11-07T13:17:22.247 回答