c# - SQLクエリは、č、ć、š、žなどで始まる都市を検出しません

c# sql sqlite character-encoding

SQLクエリでは、たとえばčで始まる都市は見つかりませんが、名前にhaveが含まれているが通常の英語の文字で始まる都市は見つかります。

データベースのCity列はnvarchar型です。

この問題の解決策は何ですか?

SQLiteデータベースを使用しています。

    cmdSQLite = new SQLiteCommand("SELECT RegistrationNumber, DocumentName, 
    Performer, BuiltYear, ReferatCardNumber , City, Municipalities , StreetName 
    FROM Geotest WHERE LOWER (City) = @City", connectionSQLite);

    SQLiteParameter parameterCity = new SQLiteParameter();
    parameterCity.Value = comboBoxCitySearch.Text.ToLower();
    parameterCity.ParameterName = "@City";
    cmdSQLite.Parameters.Add(parameterCity);
答え
あなたの問題は、SQL ServerのUnicode文字列に関連している可能性があります。これは役立つかもしれません

http://support.microsoft.com/kb/239530


SQL ServerでUnicode文字列定数を処理する場合、
で説明されているように、すべてのUnicode文字列の前に大文字のNを付ける
SQL Server Books Onlineトピック「Using Unicode Data」。 「N」プレフィックス
SQL-92標準のNational Languageを表し、
大文字。 Unicode文字列定数の前にNを付けない場合、SQL
サーバーはそれを現在の非Unicodeコードページに変換します
文字列を使用する前のデータベース。


更新:私の間違い、質問を正しく読みませんでした。SQLServerについて話していると思いました。 SQL Liteのドキュメントを読む、http://www.sqlite.org/faq.html#q18


SQLiteのデフォルト設定では大文字と小文字を区別しない
ASCII文字の比較。この理由は、
完全なUnicodeの大文字と小文字を区別しない比較と大文字と小文字の変換
のサイズをほぼ2倍にするテーブルとロジックが必要です
SQLiteライブラリ。 SQLite開発者は、
完全なUnicodeケースのサポートが必要になる
テーブルと関数なので、SQLiteは
この能力を複製します。
関連記事

c# - OpenCV / C++から.NET C#に画像を渡す

c# - Entity Framework Entity Partial Classesをどのように使用すればよいですか?

c# - Devexpress C#XtraGridシングルセル編集の問題

c# - 画像をインポートして分離ストレージWP7に保存

c# - GridView RowHeaderColumnをTemplateFieldに設定するにはどうすればよいですか?

c# - lockキーワードの使用とC#5.0の新しい非同期機能

c# - 別のDLLを参照する.Net DLL

c# - ライブオブジェクトのハッシュ関数(ハッシュテーブル)?

c# - app.configを使用してシャドウコピーを構成する

c# - C#Lambda / Expression / Func /実行時のプロパティ置換のリフレクションをどのような構造で探していますか?