mysql - 如何设置名称 latin1 以在 VB.NET 中工作
问题描述
我无法在我的 VB.net 应用程序中成功地将我的数据转换为“latin1”。并且要么在gridview中显示正确的数据,要么我试图将正确的数据导出到excel。每个德语单词,如:“Köln”或“möglich”都显示为:“Köln”和“möglich”。我的数据库是 mysql 数据库,表是 latin1 格式,我无法更改。
在我的 MySQL 工作台上,如果我在 SELECT 语句开始之前执行“SET NAMES latin1;” 一切都完美显示,但是当我在我的应用程序中这样做时,数据显示的字符错误。我已将连接字符串设置为“latin1”,并且尝试了 utf8、utf-8 和 utf8mb4,但它们都不起作用。服务器=000.000.000.000;userid=admin;password=admin;database=center;CharacterSet=latin1;
这是一个读取gridview中数据的代码:
Private Sub TabelleAnzeigen_Click_1(sender As Object, e As EventArgs) Handles LoadTable_btn.Click
CheckBoxAnrDetail.Checked = False
Dim SDA As New MySqlDataAdapter
Dim dbDataSet As New Data.DataTable
Dim bSource As New BindingSource
Dim mysqlconn As New MySqlConnection(ConnectionString)
Try
mysqlconn.Open()
Dim query As String
query = "SET NAMES latin1;
SELECT ccce.callerid,
ccce.datetime_entry_queue,
ccce.duration_wait,
ccce.status,
ce.name,
ccce.uniqueid
FROM
center.call_entry ccce,
campaign_entry ce
WHERE
ccce.datetime_entry_queue BETWEEN ' " & DateTimePicker1Centrale.Text & " ' AND ' " & DateTimePicker2Centrale.Text & " '
AND ccce.status = 'abandonada'
AND ccce.id_campaign = ce.id
ORDER BY
ce.name,
ccce.datetime_entry_queue;"
command = New MySqlCommand(query, mysqlconn)
SDA.SelectCommand = command
SDA.Fill(dbDataSet)
bSource.DataSource = dbDataSet
DataGridViewCentrale.DataSource = bSource
SDA.Update(dbDataSet)
mysqlconn.Close()
Catch ex As MySqlException
MessageBox.Show(ex.Message)
Finally
LabelAnrufNRCentrale.Text = DataGridViewCentrale.RowCount - 1
mysqlconn.Close()
End Try
End Sub