winforms приложение проблема с кодировкой при добавление данных

winforms приложение использую sql server, при добавление данных через ms sql server MS с кодировкой никаких проблем нету, при добавление данных через winforms вставляется только английские буквы. как можно это исправить ?

<add key="ConnectionString" value="Data Source=DESKTOP-8BR4OU9\SQLEXPRESS;Initial Catalog=zktimedb; Integrated Security=True;" />

код вставки в базу данных

try
{
    var Connect = ConfigurationManager.AppSettings["ConnectionString"];
    using (var connection = new SqlConnection(Connect))
    using (var command = new SqlCommand())
    {
        connection.Open();
        command.Connection = connection;
        command.CommandText = @"Insert into USERINFO(BADGENUMBER, NAME, GENDER, OPHONE, DEFAULTDEPTID) Values(@badgenumber, @name, @gender, @phone, @depid)";
        command.Parameters.Add("@badgenumber", SqlDbType.VarChar, 24).Value = txtBadGenNumber.Text;
        command.Parameters.Add("@name", SqlDbType.VarChar, 50).Value = txtName.Text;
        command.Parameters.Add("@gender", SqlDbType.VarChar, 8).Value = comboBoxGender.Text;
        command.Parameters.Add("@phone", SqlDbType.VarChar, 20).Value = txtPhone.Text;
        command.Parameters.Add("@depid", SqlDbType.VarChar).Value = comboBoxDepartment.SelectedValue;
        command.ExecuteNonQuery();
        MessageBox.Show("User Added Successfull ....", "Thank You", MessageBoxButtons.OK, MessageBoxIcon.Information);
        showdata();
    }
}
catch(Exception ex)
{
    MessageBox.Show("Error !", ex.Message);
}

Ответы (1 шт):

Автор решения: CrazyElf

Цитирую документацию:

Тип SQL Тип C# Описание
NVarChar String Поток переменной длины из символов кодировки Юникод.
VarChar String Поток переменной длины из символов, не принадлежащих кодировке Юникод.

В общем поменяйте везде SqlDbType.VarChar на SqlDbType.NVarChar.

→ Ссылка