MySQL 表与字段编码格式报错


MySQL 表与字段编码格式报错

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

解决办法:

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

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

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

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

///


/// Latin1(iso-8859-1) 转 gb2312 中文
///

///
///
public static string Latin1ToUtf8( string str) {
//这里的 gb2312 取决于 mysql连接字符串中设定的字符编码。
return Encoding.GetEncoding("gb2312").GetString(Encoding.GetEncoding("ISO-8859-1").GetBytes(str));
}