C# VS2010中的控制台utf8编码转换问题

C# VS2010中的控制台utf8编码转换问题,c#,encoding,utf-8,executenonquery,C#,Encoding,Utf 8,Executenonquery,我正试图使用C#控制台程序用汉字填充一个表。字符完全保留在C#字符串中,但当我要使用以下命令执行查询时: cmd.ExecuteNonQuery(); 这基本上造成了转换问题。我在网上四处寻找,发现这与控制台编码有关。所以我试着把它改成这个,但它不起作用 Console.InputEncoding = Encoding.UTF8; Console.OutputEncoding = Encoding.UTF8; 执行前查询: INSERT INTO Sentences (cat, q, a)

我正试图使用C#控制台程序用汉字填充一个表。字符完全保留在C#字符串中,但当我要使用以下命令执行查询时:

cmd.ExecuteNonQuery();
这基本上造成了转换问题。我在网上四处寻找,发现这与控制台编码有关。所以我试着把它改成这个,但它不起作用

Console.InputEncoding = Encoding.UTF8;
Console.OutputEncoding = Encoding.UTF8;
执行前查询:

INSERT INTO Sentences (cat, q, a)
VALUES ('English -> Chinese; HSK level 1; limited 1;       part 1','He caught a cold. ;;;  tā gǎn mào le。','他感冒了。')
在表中插入:

英语->中文;HSK一级;有限公司1;第一部分
他感冒了;;;你喜欢什么?
""


phpmyadmin中的直接查询提供了所需的结果,因此它不是表编码问题。

您的查询应该在所有字符串文本之前有
N
,以使它们成为unicode:

INSERT INTO Sentences (cat, q, a) VALUES (N'English -> Chinese; HSK level 1; limited 1; part 1',N'He caught a cold. ;;;  tā gǎn mào le。',N'他感冒了。')

我通过在连接字符串中添加“Charset=utf8;”来修复它。从中得到了答案。

好的,我知道你已经解决了这个问题。你可以接受自己的答案。