iPhone XML发布到Web服务 - 一些GUID显示为亚洲字符

时间:2012-07-11 01:41:42

标签: objective-c ios xml encoding

网络服务另一端的合作伙伴说我们发送的用于跟踪的部分ID显示不正确。以下是他们发送给我们的同一XML文档中的正常一个和两个损坏的文档:

<pageID>1e7baddf-1d5f-47bc-ab0f-83a9393e189e</pageID>
<pageID>齎ﺹ鲈}≊扚Წ</pageID>
<pageID>᜗乯・뤙Ṝ괨Ⅻ㋼</pageID>

知道为什么会这样吗?它只是非常罕见,我不知道字符应该是什么,但它应该是第一项的格式。

我试过了

 [NSMutableString stringWithString:
[self stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];   

[(NSString*)CFURLCreateStringByAddingPercentEscapes(
NULL, (CFStringRef)self, NULL, (CFStringRef)@"!*'();:@&=+$,/?%#[] ",
kCFStringEncodingUTF8) autorelease]

并且他们声称它仍在发生。

1 个答案:

答案 0 :(得分:1)

你的pageID看起来像十六进制数字,它不仅是亚洲字符,还有一些阿拉伯字体。

  1. 尝试在离开函数之前打印正在发送到Web服务的实际字符串。所以我想如果您使用的是NSURLConnection,请在发送数据之前进行检查。
  2. 如果要发送的数据是您想要的,那么这不是您的错,但是错误在Web服务的反序列化方法中。