В веб-приложении я помещаю два текстовых поля и кнопку для вставки данных, которые не являются английским. Когда я вставляю в SQL Server, он показывает только «??????? (1877?)», Как это, но я взял тип данных как nvarchar
, хотя он не подходит на этом языке, есть ли другой способ вставить и отобразить текст, который не находится на английском языке.Тип данных nvarchar в SQL Server? Asp.net?
CREATE TABLE [dbo].[Multilingual](
[name] [nvarchar](50) NULL,
[address] [nvarchar](50) NULL
) ON [PRIMARY]
GO
string sq = "insert into multilingual (name,address) values ('" + txtname.Text + "','" + txtadd.Text + "')";
cmd = new SqlCommand(sq, con);
cmd.CommandType = CommandType.Text;
int i = cmd.ExecuteNonQuery();
if (i == 1)
{
get();
}
Показать код, который вы используете для вставки данных и структуры таблицы. –
ok sure martin smith –
Вам не хватает префикса 'N' на строковых литералах, поэтому ваши данные обрабатываются как« Varchar », и вы теряете символы, которые не представлены на кодовой странице вашего сравнения по умолчанию. Но вы не должны делать эту конкатенацию строк в любом случае. Используйте параметризованные запросы правильного типа данных ('nvarchar') –