嗨,我开发了一个 Windows 应用程序,它允许用户保存数据并以泰米尔字体查看数据。我安装了“Bamini”字体(泰米尔语字体),并将文本框和 datagridview 设置为 Bamini 字体。我能够以泰米尔语保存和检索数据。
问题是我输入的泰米尔语数据被编码并保存在数据库中,例如:如果我在文本框中输入“இந்தியா”并保存,它将在 mysql db 中保存为“,e;j_ah”(我已将列字符集设置为utf8). 因此,当我获取数据并尝试打印它时,它正在打印“,e;j_ah”而不是“இந்தியா”。
谁能让我知道我在这里做错了什么?!
我用来插入字符串的代码:
textBox1 值为 'இந்தியா'(因为文本框字体设置为 'Bamini' 泰米尔语字体)
string insertdata = "INSERT INTO tamil (country) VALUES (@cnt)";
MySqlCommand cmd = new MySqlCommand(insertdata,connection);
connection.Open();
cmd.Parameters.AddWithValue("@cnt",textBox1.Text);
cmd.ExecuteNonQuery();
connection.Close();
受影响的数据库如下:
tablename: Tamil
Sno Country
1 ,e;j_ah
表结构:
CREATE TABLE `tamil` (
`sno` int(11) auto_increment NOT NULL,
`Description` varchar(50) NOT NULL,
`Country` varchar(50) character set utf8 NOT NULL,
KEY `id_sno` (`sno)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;