我在我的项目中使用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"];
}
数据库代码:
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;
答案 0 :(得分:22)
将charset=utf8
添加到实体框架的连接字符串中
这是一个有效的添加节点:
<add name="photostorageEntities"
connectionString="metadata=res://*/Models.Photos.csdl|res://*/Models.Photos.ssdl|res://*/Models.Photos.msl;provider=MySql.Data.MySqlClient;provider connection string="server=ServerIP;User Id=UID;password=PASS;Persist Security Info=True;database=photostorage; Charset=utf8""
providerName="System.Data.EntityClient" />
答案 1 :(得分:-3)
在您的数据库中,尝试将varchar
转换为nvarchar
。