2014-01-07 34 views
8

正在开发使用ASP.NET MVCMYSQLtamil网站。将泰米尔语言文本存储到MySQL中

  1. 虽然从ASP.NET MVC网站更新值(泰米尔语文字)到数据库我所有的值作为格式存储这样??????????????

  2. 当我直接运行插入查询到我的数据库我我能够将泰米尔语文本插入到数据库中。

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" /> 

谢谢大家! :)

+0

只是一点点帮助一些大师们从事这项工作.. :) 你应该能够调试您的网站插件发生之前,看到你的价值的格式。然后我可以怀疑: 1)如果值的格式是正确的,插入时可能会出现问题,最有可能是Entity Framework设置或其他MySQL(DB)设置? 2)如果字符串在插入前没有正确的格式,那么这将是您的网站设置,你应该看清楚。你能提供我们这个测试的结果吗?谢谢。 –

+0

@VaclavElias - 感谢您的更新。我调试了网站,发现插入前我的值格式正确。插入时出现问题。 – Velu

+0

在这个阶段,我忍不住因为没有MySQL的经验。如果它是MS SQL Server,那么我将使用MS SQL Profiler并查看服务器上发生了什么,在MS SQL Server的情况下,我还会使用类型nvarchar作为泰米尔语的数据类型。不知道MySQL应该是什么。所以现在需要MySQL熟练的人来帮助你解答:-) –

回答

3

我也面临完全相同的问题。

将此connection property添加到要在其中定义数据库连接的jdbc驱动程序。

<property name="connectionProperties" value="characterEncoding=UTF-8;characterSetResults=UTF-8"/> 

我希望这能解决您的问题。

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 ; 
相关问题