我正在使用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子句選擇查詢。我能夠通過複製粘貼來閱讀印地文。只是無法從數據庫的標籤中顯示它。 –