C# VS2010中的控制台utf8编码转换问题
我正试图使用C#控制台程序用汉字填充一个表。字符完全保留在C#字符串中,但当我要使用以下命令执行查询时: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)
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;”来修复它。从中得到了答案。好的,我知道你已经解决了这个问题。你可以接受自己的答案。