西班牙语字符编码 - iphone

时间:2011-03-23 10:17:14

标签: iphone objective-c encoding

我正在从iphone发送文本到服务器进行处理。 该文字包含一些西班牙文字符,例如,áéíúúñ¿¿¡ª

发送时,我使用NSUTF8StringEncoding对其进行编码 服务器端也使用UTF8编码对其进行解码。

但服务器端将其解码为???????

如果有人遇到过这个问题以及如何解决这个问题,请告诉我?

感谢。

2 个答案:

答案 0 :(得分:1)

我找到了解决方案。

由于这是一个帖子数据,我不得不逃避特殊字符。

stringByAddingPercentEscapesUsingEncoding:似乎没有逃脱所有特殊字符。我用“+”字符来面对这个问题,它被一个空格所取代。

我觉得同样的事情发生在西班牙语角色没有正确转义,所以我手动更换它并且它起作用。

以下是一个例子。我为所有角色写了这个

escapedString = [escapedString stringByReplacingOccurrencesOfString:@"À" withString:@"%C0"];        
        escapedString = [escapedString stringByReplacingOccurrencesOfString:@"Á" withString:@"%C1"];        
        escapedString = [escapedString stringByReplacingOccurrencesOfString:@"Â" withString:@"%C2"];        
        escapedString = [escapedString stringByReplacingOccurrencesOfString:@"Ã" withString:@"%C3"];        
        escapedString = [escapedString stringByReplacingOccurrencesOfString:@"Ä" withString:@"%C4"];

感谢xj1200和saadnib对此的关注。我真的很感激。如果你们找到任何其他更好的解决方案,请发布。

答案 1 :(得分:0)

我认为您可以使用Google Toolbox for Mac来编码这些字符。请参阅文件GTMNSString +

http://code.google.com/p/google-toolbox-for-mac/source/browse/trunk/?r=27#trunk%2FFoundation