iOS服务器数据请求"汉字编码"问题

下面记录一下数据请求问题:

1.不知道大家有木有遇到过,当数据请求的URL带有汉字的时候,请求数据肯定会报404错误,也就是参数或者是接口URL错误<虽然说404,500等错误一般都是服务器问题,可是......想说的是:大部分使我们请求参数或者URL问题哟!!! >

这时候你就要检查自己的请求参数和地址是不是有错哟!

2.当数据请求中带有汉字的时候,一般是要转成UTF8编码,才能进行数据请求的.

     NSString *searchStr1 = [searchStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

有些数据可能转一次就够了,有些....可就不一定了哈....

请往下看哟.....

3.安卓好像都是一次转码就好了...只是...iOS貌似不行的呢...嘻嘻!!!

总之我是试了很多次都不行,一直报404错误....经过多次尝试,总算是找到怎么解决这一问题了...

解决方法就是: 进行两次UTF8转码

看以下我的代码实现: 输入中文进行搜索请求数据.

 1 #pragma mark - UISearchDelegate
 2 
 3 - (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{
 4     
 5     self.searchBar.showsCancelButton = NO;
 6     [searchBar resignFirstResponder];
 7     //请求搜索数据
 8     NSString *searchStr = [searchBar.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
 9      NSString *searchStr1 = [searchStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
10     self.searchText = searchStr1;
11 
12     // 注意要两次转码才成功!!!
13     [self requestStudentList:searchStr1];
14 }
原文地址:https://www.cnblogs.com/pengsi/p/6053924.html