c#mysql选择where where condition

时间:2013-04-16 13:57:41

标签: c# mysql

WHERE status ='โกดัง'“我试试这个它不起作用(它是utf8(泰语)我是否需要在C#中设置一些东西以使它知道是utf8或因为我不能使用'โกดัง “

我使用c#和mysql代码是有效的,直到我在String cmdText =“SELECT * FROM trackingbymail”之前填写WHERE status ='โกดัง';它的工作

String str = @"server=localhost;database=asianimport;userid=tga;password=se57ui849;";


String cmdText = "SELECT * FROM trackingbymail WHERE  status=  'โกดัง' ";
                MySqlCommand cmd = new MySqlCommand(cmdText, con);
                MySqlDataReader reader = cmd.ExecuteReader();

2 个答案:

答案 0 :(得分:2)

  1. 确保表数据库的排序规则是UTF-8排序规则(即utf8_general_ci或其关系之一)

  2. Charset=utf8;添加到您的连接字符串。

  3. “服务器=本地主机;数据库=测试; UID =测试; PWD =测试;字符集= UTF8;”

    来源:MySQL C# Text Encoding Problems

    无论如何,如果它无法解决,你可以存储字节而不是字符串。但可能这不是解决问题的最好方法......

    UTF8Encoding utf8 = new UTF8Encoding();
    string unicodeString = "โกดัง";
    byte[] encodedBytes = utf8.GetBytes(unicodeString);
    

    然后当你需要时你可以回到字符串:

    Encoding.UTF8.GetString(encodedBytes);
    

答案 1 :(得分:0)

您应该将源代码文件保存为UTF-8。

你试过这个吗?