(转载注明出处:http://www.cnblogs.com/binxindoudou/archive/2013/03/24/2979340.html:)

最近在ios平台做一个利用新浪微博API获取数据的程序,在组成链接字符串获取json数据的时候,出现了问题:如果参数时英文和数字,那么可以获取到,如果是中文数据就死掉了

如下:

https://api.weibo.com/2/friendships/friends.json?access_token=2.00DPjheC0fBfSX74fc935b2dEVAjwC&screen_name=彬心典登  不能获取到数据

https://api.weibo.com/2/friendships/friends.json?access_token=2.00DPjheC0fBfSX74fc935b2dEVAjwC&screen_name=CCTV5 可以获取到数据

后来经过调试发现,是字符编码的问题。在程序中,必须将汉字转化为utf-8格式,才可进行连接访问

那么objective-c 如何将中文(GBK)转化为UTF-8呢?我从网上看到了不少是将UTF-8转化为中文的,而我需要的却没有

所以我只好自己查资料写了一个函数,效果还不错,代码贴出:

- (NSString *)GBKToUtf8Encoding:(NSString *)aString

{

    NSMutableString *GBKString = [NSMutableStringstringWithFormat:@""];

    for (int i = 0 ; i < [aString length] ; i++) 

    {

   //获取到字符的索引

        NSUInteger index = i;

   //获取该字符转化为字符串,然后才可以调用编码方法(编码方法是针对字符串的)

        NSString *strTmp = [[NSStringstringWithFormat:@"%C",[aString characterAtIndex:index]] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

   //拼接字符串

        [GBKString appendString:strTmp];

    }

    return GBKString;

}

第一次写博客,希望大家多多指教:)

(转载注明出处:http://www.cnblogs.com/binxindoudou/archive/2013/03/24/2979340.html:) 

 

 

相关文章:

  • 2021-09-14
  • 2021-06-02
  • 2022-12-23
  • 2021-07-17
  • 2022-12-23
  • 2021-05-19
  • 2022-12-23
  • 2021-08-12
猜你喜欢
  • 2021-08-06
  • 2022-12-23
  • 2022-12-23
  • 2022-01-14
  • 2022-12-23
  • 2021-11-30
  • 2022-12-23
相关资源
相似解决方案