SQLite データベースを使用して Windows ストア アプリ (C#) を開発しています。
問題
「qwerôty」のような特別な文字が行にある場合、アプリがこの値を取得すると、文字列オブジェクトには「qwerty」が含まれます (この特別な文字はありません)。
データベースの作成
sqlite3ユーティリティでデータベースを作成し、すべてのクエリ (テーブルの作成、挿入...) をファイル (UTF-8 エンコード) に書き込み、すべてのクエリを sqlite3 のコマンド プロンプトにコピーして貼り付けます。
select * from tableを実行すると、「qwerôty」と表示されますが、アプリに入ると、文字列に「ô」が含まれません。
アプリ内コード
SQLite データベースからデータを取得する方法は次のとおりです。
private SQLiteAsyncConnection conn = new SQLiteAsyncConnection(DbPath);
return await conn.Table<BusinessObject>().ToListAsync();
文字列プロパティは BusinessObject オブジェクト内にあります
私の推測
sqlite3で作成した sqlite ファイルは UTF-8 でエンコードされていないと思います。Windows の組み込みのメモ帳で開いて「名前を付けて保存」すると、選択されたエンコーディングが ANSI になります。しかし、UTF-8 でエンコードされたデータベースを作成する方法が見つかりません。
私の問題が何であるかについて何か考えがある場合は、事前に感謝します。
ラフィ