正在使用tamil
和ASP.NET MVC
开发MYSQL
网站。
在将值(tamil语言文本)从ASP.NET MVC网站更新为数据库时,我将所有值都存储为格式,如??????????????
当我直接将插入查询运行到我的数据库中时,我可以将泰米尔文本插入数据库。
Asp.NET MVC:我有以下代码
<meta charset="utf-8" />
MySQL - 创建表语法:
CREATE TABLE IF NOT EXISTS `Login` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`username` text COLLATE utf8_unicode_ci,
`password` mediumtext COLLATE utf8_unicode_ci,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=6 ;
注意:我一直在使用Entity Framework
连接MySQL数据库。
我身边有什么遗漏吗?
来自评论
找到解决方案 - 只需将";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" />
谢谢大家! :)
答案 0 :(得分:3)
我也遇到了同样的问题。
将此connection property
添加到您定义数据库连接的jdbc
驱动程序。
<property name="connectionProperties" value="characterEncoding=UTF-8;characterSetResults=UTF-8"/>
我希望这能解决你的问题。
答案 1 :(得分:2)
使用以下查询将默认字符集设置为已创建的表
ALTER TABLE Login CONVERT TO CHARACTER SET utf8;
您在多个地方使用整理。以下就足够了
CREATE TABLE IF NOT EXISTS `Login` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`username` text,
`password` mediumtext,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=6 ;