【发布时间】:2018-02-09 00:33:48
【问题描述】:
当我尝试在我的数据库中保存 Unicode 数据(例如中文)时,它会在 sql 数据库表中保存为问号 ???????。
public IHttpActionResult SaveSelections(UserPreference model)
{
var user = db.UserPreferences.FirstOrDefault(p => p.UserName == model.UserName);
//var psellers= db.PSellers.ToArray();
if (user == null)
{
try
{
db.UserPreferences.Add(model);
db.SaveChanges();
}
catch (Exception e)
{
return BadRequest(e.Message);
}
}
else
{
try
{
user.AreaText = model.AreaText;
user.RegionText = model.RegionText;
db.SaveChanges();
}
catch (Exception e)
{
return BadRequest(e.Message);
}
}
return Ok();
}
【问题讨论】:
-
您是否使用 UTF8 编码创建了数据库?如果未指定,则默认为 ASCII。
-
NO 我没有创建为 UTF8 编码
-
那是你的问题。您不能使用 ASCII 编码将 unicode 字符存储在数据库中。最安全的方法是使用 unicode 编码创建新数据库并将当前数据传输到新数据库。将作为答案发布...
标签: sql angularjs asp.net-web-api