使用webapi,Unicode数据不会以正确的格式保存在sql数据库中

时间:2017-08-31 06:45:31

标签: sql angularjs asp.net-web-api

当我尝试在我的数据库中保存中文等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();
    }

1 个答案:

答案 0 :(得分:0)

您的数据库正如您在评论中所说的那样,接受UTF8但是ASCII。要使数据库接受unicode字符,您需要执行以下命令:

CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci;

有关详细信息,请参阅Database Character Set and Collation

基本上,创建新数据库并将当前数据传输给它。如果您不知道该怎么做,答案是here

相关问题