当通过 VB.Net 和 MySql 数据提供程序向 Mysql 表发出一个简单的 Select 语句以搜索一些希腊字符串时,我无法获得任何结果集。MYSQL 版本:5.5.32 VB.Net:2010
我需要对传递的字符串进行任何特殊编码吗?
PS:已经尝试过下面发布的解决方案:
β字符是什么编码?输入来自哪里?如果它来自您的控制台,您需要确保它使用 UTF-8 而不是 ISO-8859-1 – Pekka 2011-08-11 08:05:07
尝试使用:mysql_query("SET NAMES 'utf8'"); – 2011 年 10 月 26 日 12:36
我的代码如下所示:
Dim ds As New DataSet
Dim da As New MySqlClient.MySqlDataAdapter
Dim dt As New DataTable
Dim utf8Encoding As New System.Text.UTF8Encoding
Dim sql, st As String
Dim bytes() As Byte
Dim com As New MySql.Data.MySqlClient.MySqlCommand("SET NAMES 'utf8'", MysqlConn)
com.ExecuteNonQuery()
bytes = (Encoding.UTF8.GetBytes(TextBox2.Text))
st = Encoding.UTF8.GetString(bytes)
sql = "Select * from Customers where name like '%" & st & "%'".ToString
Dim command As New MySqlClient.MySqlCommand(sql, MysqlConn)
da.SelectCommand = command
da.Fill(ds)
MysqlConn.Close()
DataGridView1.DataSource = ds.Tables(0)
谢谢