NSURL * url = [NSURL URLWithString:@"http://www.cnliuda.com/API/index1_hot.asp"];
    ASIHTTPRequest * request = [ASIHTTPRequest requestWithURL:url];
    
    [request setDelegate : self ];
   [request startAsynchronous ];
- ( void )requestFinished:( ASIHTTPRequest *)request
{
    
    NSString *responseString = [request responseString ]; // 对于 2 进制数据,使用: NSData *responseData = [request responseData];
    NSLog ( @"%@" ,responseString);
    
    arrayData = [NSJSONSerialization JSONObjectWithData:[responseString dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableLeaves error:nil];
    NSLog(@"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
    NSLog(@"arrayData = %@",[arrayData description]);
  
}
// 请求失败,获取 error
- ( void )requestFailed:( ASIHTTPRequest *)request
{
    NSError *error = [request error ];
    NSLog ( @"%@" ,error. userInfo );
   }
   然后一直输出 arrayData = {},求解

解决方案 »

  1.   


    NSLog ( @"%@" ,responseString);
    的前面加上下面这段试试    
        if (responseString == nil)
        {
            NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_2312_80); 
            
            request.responseEncoding = enc;
            responseString = [request responseString];
        }
        
        if (responseString == nil)
        {        
            request.responseEncoding = NSISOLatin1StringEncoding;
            responseString = [request responseString];
        }
        
      

  2.   

    还是TweetBotTabBar[1832:f803] arrayData = (null),但我的一直是有内容的,就是里面的中文字段变成了
    "itemName":"第三件","itemDesc":"白白白","iType":"热门",不知道怎么搞?
      

  3.   

    还是TweetBotTabBar[1832:f803] arrayData = (null),但我的那个string一直是有内容的,就是里面的中文字段变成了
    "itemName":"第三件","itemDesc":"白白白","iType":"热门",不知道怎么搞?
      

  4.   

    http://www.cnliuda.com/API/index1_hot.asp这个采用的是UTF-8的编码浏览器虽然可以正常解析成为中文,但你通过浏览器查看源码发现,实际上是和你获取到的数据是一样的,解决办法:
    http://www.cnliuda.com/API/index1_hot.asp改为GB2312码输出或者:1、将NSString *responseString = [request responseString ]; 改为
    NSData *responseData = [nsstring dataUsingEncoding:-2147482063];2、在1的后面增加以下语句
    NSStringEncoding enc=CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
    NSString *responseString=[[NSString alloc]initWithData:stringData encoding:enc];
      

  5.   

    http://www.cnliuda.com/API/index1_hot.asp这个采用的是UTF-8的编码浏览器虽然可以正常解析成为中文,但你通过浏览器查看源码发现,实际上是和你获取到的数据是一样的,解决办法:
    http://www.cnliuda.com/API/index1_hot.asp改为GB2312码输出或者:1、将NSString *responseString = [request responseString ]; 改为
    NSData *responseData = [nsstring dataUsingEncoding:-2147482063];2、在1的后面增加以下语句
    NSStringEncoding enc=CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
    NSString *responseString=[[NSString alloc]initWithData:responseData encoding:enc];