为数据库读取操作设置正确的代码页

时间:2009-12-23 19:17:26

标签: c# winforms codepages

如何在以下操作中更改我想要使用的代码页?

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

据我所知,我可以在String.Format(IFormatProvider, String)内包装方法调用。那太棒了。

但是如何使用特定代码页构建IFormatProvider,以便我可以正确地从数据库中读取这些特定数据,该数据存储在与数据库文件其余部分不同的代码页中?

更多信息
- 数据库是SQLite数据库 - 数据采用葡萄牙语 - 我正在添加到数据库外部的数据在我的应用程序上显示不正确 - 我通过我的应用程序添加的数据显示正确。

我认为我追溯到这样一个事实,我认为在通过我的应用程序进行操作时,我正在以UTF-8格式添加数据。我正在使用System.Data.SQLite提供程序,我可能会进一步调查如何更改此行为。无论如何,我现在想要读取从外部源插入数据库的数据,这些数据不是UTF-8格式。

1 个答案:

答案 0 :(得分:1)

不,String.Format(等)与客户端处理有关。如果你真的需要改变数据库处理文本数据的方式,我希望它是SQL语句的一部分,或者可能是连接字符串的一部分。 (您可能需要为这些特定查询使用不同的连接。)

在.NET本身中,所有文本数据都只是Unicode。说实话,我希望数据库能够知道发生了什么并自己处理差异......但是你没有详细说明你正在使用什么数据库或者如何使用数据库table对其他人使用不同的编码。