Showing posts with label Bug. Show all posts
Showing posts with label Bug. Show all posts

Saturday, May 9, 2015

[iOS] Sai dấu khi encode url hoặc gửi chuỗi lên server

Đôi khi gửi một chuỗi đc encode lên server bằng phương thức post, một số dấu ko đc hiển thị đúng

send: 2013-06-29T18:33:17+0000
receive: 2013-06-29T18:33:17 0000. //+ ---> " "

hoặc encode một chuỗi url ra kết quả không đúng. (&/+/khoảng trắng...)

Ta khắc phục điều này bằng hàm sau CFURLCreateStringByAddingPercentEscapes

#import "NSString+URLEncoding.h"
@implementation NSString (URLEncoding)
-(NSString *)urlEncodeUsingEncoding:(NSStringEncoding)encoding {
    return (NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,
               (CFStringRef)self,
               NULL,
               (CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ",
               CFStringConvertNSStringEncodingToEncoding(encoding));
}
@end
Reference:
http://kiririmode.hatenablog.jp/entry/20110730/p1

http://stackoverflow.com/questions/17444876/ios-not-encoding-plus-sign-in-x-www-form-urlencoded-post-request