MySQL 表与字段编码格式报错

MySQL 表与字段编码格式报错

 

一、数据库,表,字段编码格式都为latin1(iso-8859-1) 。当数据保存到数据库后,中文显示乱码。

解决办法:

1.在访问数据库连接串中添加编码格式:

<add key="MySqlConnectionString" value="Server=127.0.0.1;Port=3306;Uid=ttt;Pwd=ttt;Database=test_db;charset=gb2312" />

获取出来的中文信息没有问题。

注意:使用gb2312编码添加的中文信息,读取时也要使用相同编码格式,也就是存取的编码格式要一致;否则获取出来为乱码。

 

 

二、若获取的字符串为Latin1编码,在C#中可以做如下转换:

/// <summary>
/// Latin1(iso-8859-1) 转 gb2312 中文
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string Latin1ToUtf8( string str) {
//这里的 gb2312 取决于 mysql连接字符串中设定的字符编码。
return Encoding.GetEncoding("gb2312").GetString(Encoding.GetEncoding("ISO-8859-1").GetBytes(str));
}

posted @ 2015-11-19 21:08  小站记忆  阅读(355)  评论(0编辑  收藏  举报