zoukankan      html  css  js  c++  java
  • iOS Get方式带中文不能请求网络

    今天发现一个蛋疼的问题,使用ASIHTTPRequest  Get方式请求数据时候带中文,iOS客户端不能正确进行网络请求。
    NSURL *url = [NSURL URLWithString:@http://unmi.cc?p1=%+&sd f&p2=中文"];
    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
    打印出来url为nil  还好,在网上找到了如下方法就可以解决这个问题
     
    //NSString+URLEncoding.h
    #import<Foundation/Foundation.h>
    @interface NSString (OAURLEncodingAdditions)
     
    - (NSString *)URLEncodedString;
     
    - (NSString *)URLDecodedString;
    @end
     
     
    //NSString+URLEncoding.m
    #import"NSString+URLEncoding.h"
    @implementation NSString (OAURLEncodingAdditions)
     
    - (NSString *)URLEncodedString 
    {
       NSString*result = (NSString*)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
                                                                               (CFStringRef)self,
                                                                               NULL,
      CFSTR("!*'();:@&=+$,/?%#[]"),
                                                                               kCFStringEncodingUTF8);
        [result autorelease];
    return result;
    }
     
    //解决url乱码
    - (NSString*)URLDecodedString
    {
    NSString*result = (NSString*)CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault,
      (CFStringRef)self,
      CFSTR(""),
      kCFStringEncodingUTF8);
        [result autorelease];
    return result;
    }
    
    // 调用方法
     NSString *encodedString = [urlString URLEncodedString];
    

      

  • 相关阅读:
    hdu4549 M斐波那契数列(矩阵快速幂+费马小定理)
    E. 因数串(EOJ Monthly 2020.7 Sponsored by TuSimple)
    2019春总结作业
    大一下半年学期总结
    ball小游戏
    贪吃蛇
    链接远程仓库
    git自动上传脚本及基本代码
    模板 --游戏
    飞机小游戏
  • 原文地址:https://www.cnblogs.com/joesen/p/3247043.html
Copyright © 2011-2022 走看看