2013-10-31 59 views
0

我想用C#控制檯程序填充中文字符表。字符被完美地保留在C#中的字符串,但是當我想執行查詢:在VS2010控制檯utf8編碼轉換問題

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。','他感冒了。') 

INSERT:

英語 - >中國; HSK 1級;有限1;第1部分
他感冒了。 ;;; ta ganmàole?
?????

在phpmyadmin中的直接查詢給出了所需的結果,所以它不是一個表編碼問題。

回答

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'他感冒了。') 
+0

這並沒有解決問題。仍然會出現SQL語法錯誤。 – user1817810

+0

好的,我發現你已經解決了這個問題。你可以接受你自己的答案。 – Szymon