發送Unicode字符時Apigee似乎否認這些字符。將Unicode字符發送到Apigee
值輸入到NSDictionary的還好用下面的代碼:
NSMutableDictionary *entity = [[NSMutableDictionary alloc] init ];
textView.text = @"È ê ü à ã"
NSString *message = [NSString stringWithUTF8String:[textView.text cStringUsingEncoding:NSUTF8StringEncoding]];
[entity setObject:@"messages" forKey:@"type"];
[entity setObject:message forKey:@"message"];
AppDelegate *appDelegate = (AppDelegate *)[ [UIApplication sharedApplication] delegate];
ApigeeClientResponse *response = [appDelegate.dataClient createEntity:entity];
如果我的NSLog的的NSDictionary我看到:
{
type = messages;
message = "\U00c8 \U00ea \U00fc \U00e0 \U00e3";
}
發佈這Apigee,成功響應返回後不特殊字符:
{
type = messages;
message = "E e u a a";
}
如何防止NSDictionary fr om編碼這些字符並允許Unicode字符保存到Apigee中?
正如以前所做的那樣,您將NSLog的輸出與字典的內容混淆了。 NSLog只輸出ASCII字符,並按照喜歡的方式顯示非Unicode字符。 – gnasher729 2014-11-03 09:50:19
如果我的NSLog'實體[@「message」]'返回''Èêüà',但NSLog整個字典返回''\ U00c8 \ U00ea \ U00fc \ U00e0 \ U00e3「'。在發佈後,我收到了Apigee返回的響應,我看到「E e a a a」,所以我不確定這些字符在哪裏更改,忽略NSLog。 – 2014-11-03 10:41:59