1

我正在编写一个 C# 程序来将 MS SQL SERVER 2008r2 中的表中的所有数据复制到 MySQL 中的表中。我正在使用 aDataGridView并使用以下代码从第一个表中填充它:

this.tB_OstanTableAdapter.Fill(this.db.TB_Ostan);
foreach (db.TB_OstanRow row in db.TB_Ostan) {
  try {
    dgvData.Rows.Add(row.Name, row.parent_id.ToString(), " ");
  }
  catch {
    dgvData.Rows.Add(row.Name, "", " ");
  }
}

s的总和parent_id为 NULL。在此之后,我DataGridView的成功填充。然后我按下保存按钮,数据将保存在 MySQL 表中。

KeyPress代码:

for (int i = 0; i < dgvData.Rows.Count; i++) {
  try {
    locationsTableAdapter.Insert(dgvData.Rows[i].Cells[0].Value.ToString(),
    int.Parse(dgvData.Rows[i].Cells[1].Value.ToString()));
  }
  catch {
    try {
      locationsTableAdapter.InsertQueryOnlyName(dgvData.Rows[i].Cells[0].Value.ToString());
    }
    catch { }
  }
}
MessageBox.Show("Saved Successful.");

我在 MySQL 中的数据库表有 utf8_unicode_ci 排序规则,但是当我在 PHPMyAdmin 中浏览它时,所有字符串都显示为“????”。

我的 MySQL 字符集

+--------------------------+---------- -------------------------+ | 变量名 | 价值 |

+--------------------------+---------- -------------------------------------+

| character_set_client | utf8 |

| 字符集连接 | utf8 |

| 字符集数据库 | utf8 |

| 字符集文件系统 | 二进制 |

| 字符集结果 | utf8 |

| character_set_server | utf8 |

| 字符集系统 | utf8 |

| 字符集目录 | c:\wamp\bin\mysql\mysql5.5.20\share\charsets\ |

+--------------------------+---------- -------------------------------------+

我该如何解决这个问题?

4

1 回答 1

1

[解决了]

我正在为 .net 使用 MySQL 连接器,并; CharSet=utf8在我的连接字符串中进行了设置,然后所有内容都已正确保存。

于 2013-05-07T13:30:25.803 回答