iPhoneで入力できるすべての文字を受け入れるために、文字列をエンコードして(HTTPポストリクエストで送信する)しようとしています。
以下は、典型的な英語のデスクトップキーボードで試した文字に対して機能します
let userPassword = "password1"
let encodedPassword = userPassword.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.alphanumericCharacterSet())
ただし、á、é、í、ó、ú、ü、ñ などのアクセント付き文字は認識しません (標準の iPhone キーボードで a、e、i を押したままにするとアクセスできます)。NSCharacterSet
標準の iPhone キーボードにある任意の文字またはすべての文字を含む単純な拡張機能はありますか?
編集:これが私が行っているリクエストのコードです
let username = "joe"
let password = "pássword"
let encodedUsername = username.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.alphanumericCharacterSet())
let encodedPassword = password.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.alphanumericCharacterSet())
let request = NSMutableURLRequest(URL: NSURL(string: "https://www.url.com")!)
request.HTTPMethod = "POST"
let postString = "id="+encodedUsername+"&pw="+encodedPassword
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
...