iOS アプリケーションを使用していますが、サーバーに到達したときに一部のコンテンツが切り捨てられているため、エンコードの問題に関連していると思われるエラーが発生しています。これは、投稿されたコンテンツのハッシュを作成することを含む認証メカニズムをいじっているため、問題があります (他のものと一緒ですが、それが基本です)。
これまでのところ、問題をローカルで再現することはできませんでした。絵文字キーボードのようなものに関連しているという理論があります。でも、絵文字、国際的な文字、考えられるすべてのものを投稿してみました。試してみると、すべてが正しく投稿されます。iOS 4 と 5 の間で、iOS が絵文字をエンコードする方法に違いがあったことは知っています。何人かのお客様と話をして、彼らが何を使用しているかを把握することができました。通常は iOS 6 で、iPhone 4s または 5 のいずれかです (テスト デバイスと同様に、私がテストしました)。 ios 5 および 6) ... OS には関係ないようです。
これが、投稿のリクエストの本文を設定する方法です。
[req setHTTPBody:[paramString dataUsingEncoding:NSUTF8StringEncoding]];
以前は、コンテンツ タイプを次のように設定していました。
[req setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
そして、私の理論では、コンテンツ タイプの文字セットを明示することで修正できる可能性があります。
[req setValue:@"application/x-www-form-urlencoded; charset=UTF-8" forHTTPHeaderField:@"Content-Type"];
だからあなたへの私の質問は、これはクレイジーですか?文字セットを UTF-8 に設定する際に明示的にすると問題が解決すると思いますか? 問題が発生している場所を特定するために推奨できるその他のトラブルシューティング手法はありますか?