0

私は実際にSQLiteデータベースでいくつかのクエリを行うためにUISearchbarを使用しています。主な問題は、キーボードで「é」のようなアクセントを付けると、このアクセントが完全に間違っていることです。ブレークポイントを使用すると、「。」があります。'é'の代わりに、ログコンソールに'√©'があります。

アクセントを削除するなどのトリックを使用する代わりに、アクセントを使用する方法はありますか?

4

2 に答える 2

0

文字列を保持する変数はおそらく正しいです。NSLogは文字列に使用されているエンコーディングを認識せず、デフォルトのエンコーディングを使用します。どちらを使用しましたか-UTF8?はいの場合:NSLog(@ "%@"、[yourString UTF8String]); 期待される文字列を表示する必要があります。

于 2012-07-19T16:31:55.293 に答える
0

さて、私は自分の問題を見つけました。

文字列はUTF8で正しくエンコードされていますが、SQLiteクエリをいくつか実行したときは、ASCIIエンコードを使用して実行しましたが、現在はUTF8Encodingを使用しています。

const char *query = [stringQuery cStringUsingEncoding:NSUTF8StringEncoding];

それ以外の

const char *query = [stringQuery cStringUsingEncoding:NSASCIIStringEncoding];
于 2012-07-20T08:02:33.260 に答える