Fluent NHibernate+MySQL插入数据中文乱码问题

本文介绍了如何解决MySQL在中文环境中出现的乱码问题。通过设置正确的字符集,并在数据库连接字符串中指定字符集,可以确保中文数据正确显示,避免乱码情况发生。

一.环境准备:

1.    安装.NET FrameWork 4.0

2.    安装MySQL 5.0.x www.mysql.com

3.    安装Mysql connector for .Net1.0 www.mysql.com

二.问题描述:如题

三.问题分析:

Mysql从4.1以后开始支持多编码。用因为MySQL是瑞典人开发的,所以安装MySQL默然是latin1。而我们中文操作系统环境下用到的默认是GB2312.这样我们不管在查询数据库中文数据时,数据库转换字符时就会出现混乱。

四.问题解决:

通一数据库表和字段使用utf8字符集。具体方法:


1)   在创建数据表时,先执行如下语句:

set character_set_results=utf8;

set character_set_client=utf8;

set character_set_connection=utf8;

set character_set_server=utf8;


2)   然后再执行建表语句:例如

CREATE TABLE `table1` (

 `Code` varchar(10) NOT NULL default '',

 `Name` double default '-1',

 PRIMARY KEY (`Code`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;


这里字符集也设置为utf8


3)   修改数据库连接字符串,设置指定的字符集:

“server=yourIP;database=yourDB; User ID=yourID;Password=yourPwd; Charset=utf8”

 

第1,2步设置好后,如果没有在连接字符串里加上charset=utf8,插入数据还是会乱码。3步完成后,插入中文数据正确,没有乱码,Done!

转载于:https://www.cnblogs.com/Fred_Xu/archive/2012/03/08/fluent-nhibernate_mysql-insert-record-messy-code.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值