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 }