我正在使用VS 2008 Express与C#在窗体应用程序项目工作,其中印地语和英语数据都需要存储在SQL Server 2008 Express数据库中。C#.Net Windows应用程序印地语编写和显示
我创建了一个表NVARCAR(MAX)
列,用下面的代码为印地文存储到数据库:
com.CommandText = "INSERT INTO test(name, data) VALUES (@a, @b)";
com.Parameters.Add("@a", SqlDbType.NVarChar).Value = textBox1.Text.Trim();
com.Parameters.Add("@b", SqlDbType.NVarChar).Value = textBox2.Text.Trim();
con.Open();
if (com.ExecuteNonQuery() > 0)
MessageBox.Show("Success");
else
MessageBox.Show("Failed");
con.Close();
代码工作完全正常,并在印地文保存数据。
现在下面是我面临的问题:
检索的时候,我看到问号,而不是在DataGridView中和标签印地文字符。作为选择查询的结果,我需要显示印地文。这是我使用的代码:
com.CommandText = "SELECT data FROM test WHERE [email protected]"; com.Parameters.Add("@name", SqlDbType.NVarChar).Value = textBox1.Text.Trim(); con.Open(); SqlDataAdapter da = new SqlDataAdapter(com); DataTable dt = new DataTable(); da.Fill(dt); dataGridView1.DataSource = dt; SqlDataReader dr = com.ExecuteReader(); if(dr.HasRows) { while(dr.Read()) { textBox2.Text = dr.GetValue(0).ToString(); } } con.Close();
注:印地文相比,工作正常,但印地文没有在DataGridView中和标签/文本显示。
注意:我正在使用可能没有安装印地语的Windows 7。另外,我不能安装印地语区域语言,因为它需要许可的窗口,我不能确定每台机器都有许可版本。
另外,上述代码在复制粘贴的印地文上工作正常。插入数据时,我无法输入印地文。
请帮助。
你的问题是语言上没有安装机。据我所知,没有办法解决这个问题。如果该语言不在机器上,您希望它显示或允许输入该语言? –
嗨。我不确定这是否是语言问题,或者是否安装了印地语。正如描述中所提到的,我可以从浏览器中复制印地文,将其粘贴到.net文本框中,将其保存在数据库中,然后使用印地语文本的Where子句选择查询。我能够通过复制粘贴来阅读印地文。只是无法从数据库的标签中显示它。 –