特に、ウムラウトを2文字とするエンコーディング文字です。Foundationの文字列エンコーディングは、サイトが期待しているものではありません。
let unencoded = "könnten"
let encoded = unencoded.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!
encoded
ko%CC%88nnten
に等しいです。したがって、ö
をo%CC%88
に変換しています。したがって、ウムラウト(¨
)とo
は別々のo¨
のようなものです。
はしかし、ほとんどのサイトでは、ウムラウト(¨
)とo
は、1つの文字ですö
、である、%C3%B6
するエンコーディングを期待しているように見えます。
あなたは(Foundation
がそれをエンコードしたいか)ここで働いていないエンコーディングの例を見ることができます:
https://www.linguee.com/german-english/search?query=ko%CC%88nnten
そして、どのように、それは理想的に次のようになります。
https://www.linguee.com/german-english/search?query=k%C3%B6nnten
ですこれをエンコードするより良い方法はありますか?おそらく異なるオプションや別のフレームワークですか?
素晴らしいですが、完璧に動作します。説明ありがとう。そうです、私が使用しているサイトが両方のフォーマットを受け入れるなら、それは素晴らしいでしょう:しかし、/それはあまり一般的ではないようです。 – solidcell