在从MS SQL Server转换到MySQL时保存Unicode失败
本文关键字:保存 Unicode 失败 MySQL MS SQL Server 转换 在从 | 更新日期: 2023-09-27 18:12:29
我正在编写一个c#程序,将所有数据从MS SQL SERVER 2008r2中的表复制到MySQL中的表。我使用的是DataGridView
,并使用以下代码从第一个表填充它:
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, "", " ");
}
}
parent_id
s的和为NULL。在此之后,我的DataGridView
被成功填充。然后我按下Save按钮,数据将保存在MySQL表中。
KeyPress
code:
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,所有字符串显示为"????"。
My MySQL charset
+--------------------------+-----------------------------------------------+| Variable_name | Value |
+--------------------------+-----------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | c:'wamp'bin'mysql'mysql5.5.20'share'charsets' |
+--------------------------+-----------------------------------------------+
如何解决这个问题?
[SOLVED]
我使用MySQL连接器的。net和我设置; CharSet=utf8
在我的连接字符串,然后一切都保存正确。