非Ascii字符被转换为?通过SQL server查询

时间:2013-07-01 14:39:14

标签: c# sql-server utf-8

我正在使用以下代码查询SQL Server数据库,并获得一些意外结果。我的一些角色被转换为'?'字符。我用来查询的代码是:

var theConnectionString = @"Data Source=my-sql-server;Initial Catalog=My_Database;Integrated Security=True";
var theQuery = @"select '❤' as panda";

var dataSet = new DataSet();
using (SqlConnection connection = new    SqlConnection(theConnectionString))
{
    connection.Open();
    var command = new SqlCommand(theQuery, connection);
    foreach (var param in parameters.Keys)
    {
        command.Parameters.AddWithValue(param, parameters[param]);
    }
    SqlDataAdapter adapter = new SqlDataAdapter(command);
    adapter.Fill(dataSet);
}
return dataSet;

这会产生一列1列的数据集,其值为“?” (字符代码),而不是10084。

交互式调试向我显示值已在theQuery中正确编码。

0 个答案:

没有答案