2016-10-26 6 views
2

したがって、UITextFieldにテキストを導入して、Alamofire .GETリクエストをテキストと共に実行するアプリケーションがあります。時々、そのテキストはChinese, Korean, Japaneseに書かれています...そしてAlamofireはクラッシュしますが、ブラウザにURLを入力すると、それは完全に戻ります。非ラテン文字Alamofire 4.0 .GETリクエスト

これはURLです:

https://www.googleapis.com/youtube/v3/search?part=snippet&fields=items(id,snippet(title,channelTitle,thumbnails))&order=viewCount&q=不許你注定一人&type=video&maxResults=50&key=Whatever 

あなたはそれが中国語のテキストが含ま見ることができるように:

不許你注定一人 

を、これはAlamofireに.get要求である:

let url = "https://www.googleapis.com/youtube/v3/search?part=snippet&fields=items(id,snippet(title,channelTitle,thumbnails))&order=viewCount&q=\(Text)&type=video&maxResults=50&key=Whatever" 
     let nUrl = url.replacingOccurrences(of: " ", with: "+") 
     Alamofire.request(nUrl, method: .get).validate().responseJSON { response in 

感謝!

答えて

1

RFC 3986の後ろにあなたのURLをエンコードしようとしましたか?

extension String { 
    func stringByAddingPercentEncodingForRFC3986() -> String? { 
     let unreserved = "-._~/?" 
     let allowed = NSMutableCharacterSet.alphanumeric() 
     allowed.addCharacters(in: unreserved) 
     return self.addingPercentEncoding(withAllowedCharacters: allowed as CharacterSet) 
    } 
} 

使用:勤務

let nUrl = url.stringByAddingPercentEncodingForRFC3986() 
+0

!どうもありがとう! – ctabuyo

関連する問題