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 回答