entity frameworkC#插入数据俄语编码问题
我在我的项目中使用EDM模型。
当我通过邮寄请求在数据库中插入俄语单词时,我得到了??????
控制器:
[Authorize] [HttpPost] public string DescEdit(FormCollection formValues) { var CurrentUserPhoto = User.Identity.Name; string x = Request.Form["id"]; Int64 id = Convert.ToInt64(x); photos upPhotoDesc = photosRepository.GetPhotosById(id, CurrentUserPhoto); upPhotoDesc.description = Request.Form["value"]; photosRepository.Save(); return Request.Form["value"]; }
- 在数据库中,所有字符集都设置为utf-8
- 在布局页面中,内容enc类型为utf-8
数据库代码:
CREATE TABLE `photos` ( `id` bigint(255) NOT NULL AUTO_INCREMENT, `done` tinyint(1) NOT NULL DEFAULT '0', `imgsmall` varchar(255) NOT NULL DEFAULT '', `imgcrop` varchar(255) NOT NULL DEFAULT '', `imgmiddle` varchar(255) NOT NULL DEFAULT '', `imgbig` varchar(255) NOT NULL DEFAULT '', `full_size` varchar(255) NOT NULL DEFAULT '', `description` varchar(255) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, `permission` tinyint(1) NOT NULL DEFAULT '0', `userid` int(11) NOT NULL DEFAULT '0', `userlogin` varchar(255) NOT NULL DEFAULT '', `rating` smallint(5) DEFAULT '0', PRIMARY KEY (`id`), KEY `indx_photos_1` (`id`,`userlogin`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci;
将charset=utf8
添加到Entity Framework的连接字符串
这是一个有效的添加节点:
在您的数据库中,尝试将varchar
转换为nvarchar
。