将泰米尔语言文本存储到MySQL中

时间:2014-01-07 15:56:00

标签: mysql asp.net-mvc entity-framework utf-8 multilingual

正在使用tamilASP.NET MVC开发MYSQL网站。

  1. 在将值(tamil语言文本)从ASP.NET MVC网站更新为数据库时,我将所有值都存储为格式,如??????????????

  2. 当我直接将插入查询运行到我的数据库中时,我可以将泰米尔文本插入数据库。

  3. 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=&quot;server=ServerIP;
           User Id=UID;password=PASS;
           Persist Security Info=True;database=photostorage; Charset=utf8&quot;" 
        providerName="System.Data.EntityClient" />
    

    谢谢大家! :)

2 个答案:

答案 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 ;