私は実際にSQLiteデータベースでいくつかのクエリを行うためにUISearchbarを使用しています。主な問題は、キーボードで「é」のようなアクセントを付けると、このアクセントが完全に間違っていることです。ブレークポイントを使用すると、「。」があります。'é'の代わりに、ログコンソールに'√©'があります。
アクセントを削除するなどのトリックを使用する代わりに、アクセントを使用する方法はありますか?
私は実際にSQLiteデータベースでいくつかのクエリを行うためにUISearchbarを使用しています。主な問題は、キーボードで「é」のようなアクセントを付けると、このアクセントが完全に間違っていることです。ブレークポイントを使用すると、「。」があります。'é'の代わりに、ログコンソールに'√©'があります。
アクセントを削除するなどのトリックを使用する代わりに、アクセントを使用する方法はありますか?
文字列を保持する変数はおそらく正しいです。NSLogは文字列に使用されているエンコーディングを認識せず、デフォルトのエンコーディングを使用します。どちらを使用しましたか-UTF8?はいの場合:NSLog(@ "%@"、[yourString UTF8String]); 期待される文字列を表示する必要があります。
さて、私は自分の問題を見つけました。
文字列はUTF8で正しくエンコードされていますが、SQLiteクエリをいくつか実行したときは、ASCIIエンコードを使用して実行しましたが、現在はUTF8Encodingを使用しています。
const char *query = [stringQuery cStringUsingEncoding:NSUTF8StringEncoding];
それ以外の
const char *query = [stringQuery cStringUsingEncoding:NSASCIIStringEncoding];