0

我正在尝试使用 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级;有限1;第 1 部分
他感冒了。;;; ta gan mào le?
???

phpmyadmin 中的直接查询给出了所需的结果,因此这不是表编码问题。

4

2 回答 2

1

我通过添加“Charset=utf8;”来修复它 到我的连接字符串。从这个线程得到了答案。

于 2013-10-31T09:19:13.193 回答
0

您的查询应该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'他感冒了。')
于 2013-10-31T05:18:59.397 回答