1

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 でエンコードされたデータベースを作成する方法が見つかりません。

私の問題が何であるかについて何か考えがある場合は、事前に感謝します。

ラフィ

4

1 に答える 1