0

以下のような操作で使用したいコードページを変更するにはどうすればよいですか?

string foo = (string)sqlCommand.ExecuteScalar();

私が理解しているように、メソッド呼び出しをString.Format(IFormatProvider, String). それは素晴らしいことです。

しかし、特定のコードページで IFormatProvider を作成して、データベース ファイルの残りの部分とは異なるコードページで格納されているデータベースからこの特定のデータを正しく読み取るにはどうすればよいでしょうか?

詳細情報:
- データベースは SQLite データベースです。
- データはポルトガル語です。
- データベースに外部から追加しているデータが、アプリケーションで正しく表示されません。
- アプリケーションで追加したデータが正しく表示されます。

アプリケーションを介してデータを追加するときに、UTF-8形式でデータを追加していると思うという事実にたどり着いたと思います。私はSystem.Data.SQLiteプロバイダーを使用していますが、この動作を変更する方法をさらに調査する可能性があります。いずれにせよ、今のところ、UTF-8 形式ではない外部ソースからデータベースに挿入されているデータを読みたいと思います。

4

1 に答える 1

1

いいえ、String.Format(など)はすべてクライアント側の処理に関係しています。データベースがテキスト データを処理する方法を本当に変更する必要がある場合は、それが SQL ステートメントまたは接続文字列の一部であることが期待されます。(これらの特定のクエリには別の接続を使用する必要がある場合があります。)

.NET 自体の内部では、すべてのテキスト データは Unicode になります。正直なところ、データベースが何が起こっているのかを認識し、違い自体を処理することを願っています...しかし、使用しているデータベースの詳細や、あるテーブルが他のテーブルとは異なるエンコーディングをどのように使用しているかについての詳細を提供していません.

于 2009-12-23T19:39:34.683 に答える