- 浏览: 633208 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (314)
- 生活 (2)
- c# (37)
- 技术 (3)
- 400电话 (0)
- 400常见问题 (0)
- 400资费 (0)
- html (7)
- css (0)
- 数据库 (7)
- javascript (16)
- php (33)
- asp.net mvc2 (10)
- mysql (9)
- C# 3.0 LinQ (10)
- vs2005或vs2008 (4)
- flash and as3 (7)
- fms (1)
- dedeCMS (11)
- java (33)
- j2me (1)
- swing (1)
- c++ (1)
- jquery easyui (3)
- jquery (5)
- android (29)
- MongoDB (9)
- VtigerCRM (1)
- test (0)
- linux (30)
- nutch (2)
- SqlServer数据库 (2)
- 数据检索 (2)
- java抓取 (11)
- 乐天 (1)
- 淘宝 (1)
- Silverlight4.0 (6)
- sphinx实时索引 (5)
- ecshop (9)
- codeigniter(CI) (3)
- axure6 (1)
- 京东店铺装修教程 (2)
- xpath (1)
- joomla (2)
- bpm (1)
- Bootstrap (2)
- knockout (4)
- ecstore (4)
- css3 (1)
- 微信 (2)
- dede (0)
- soa_edi (1)
- odoo (0)
- web (1)
最新评论
-
骑着蜗牛超F1:
在ie6下报了个stack overflow at line ...
兼容ie6和ie7 的16进制码流在html中显示为图片代码(base64) -
冰之海洋:
好像少了一句代码吧? FloatingFunc.show(th ...
android 一直在最前面的浮动窗口效果 -
yanzhoupuzhang:
连接有问题!
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000) -
whatable:
唉,楼主你都没有搞清楚重量级和轻量级。。。。既然引用了SWT, ...
java swing 内置浏览器打开网页显示flash图表-swt Browser应用 -
yy_owen:
我晕啊,你链接的什么内容额,我要的iis,你链接个视频什么意思 ...
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000)
今天用C#类连接mysql数据库出现中文乱码具体解决方案如下:
用到的mysql表结构:
CREATE TABLE IF NOT EXISTS `tet` (
`id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`url` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
用到的mysql表数据:
INSERT INTO `tet` (`id`, `name`, `url`) VALUES
(1, '百度
', 'http://www.baidu.com
'),
(0, 'google
', 'http://www.google.com.hk
'),
(3, '400电话
', 'http://www.my400800.cn
');
一、查询结果没有问题,在查询条件中如果输入中文查询不到内容,用insert测试为,插入的内容是乱码
首先在MySQL Command Line Client里面输入“SHOW VARIABLES LIKE 'character_set_%';”,可看到如下字符:
character_set_client | utf8 |
character_set_connection | utf8 |
character_set_database | utf8 |
character_set_filesystem | binary |
character_set_results | utf8 |
character_set_server | latin1 |
character_set_system | utf8 |
character_sets_dir | C:\Program Files\VertrigoServ\Mysql\share\charsets\ |
可以用如下连接字符串解决中文乱码问题
User Id=test;Host=localhost;Database=eczhou;password=test;charset='gb2312'
二、检索结果和插入内容都是乱码
用MySQL Command Line Client里面输入“SHOW VARIABLES LIKE 'character_set_%';”,可看到如下字符:
character_set_client | utf8 |
character_set_connection | utf8 |
character_set_database | utf8 |
character_set_filesystem | binary |
character_set_results | utf8 |
character_set_server | utf8 |
character_set_system | utf8 |
character_sets_dir | /usr/share/mysql/charsets/ |
即便是连接字符串改成
User Id=test;Host=localhost;Database=eczhou;password=test;charset=utf8 检索的结果还是乱码
郁闷中。。。。。。。
然后用 show variables like 'collation%';显示结果是:
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
经过不懈努力的查找,终于找到问题了,问题就出在上面红色字体的编码上,我的解决方法如下:
连接字符串修改如下:
server=localhost;uid=root;pwd=root;database=test;Charset=latin1
c#代码如下:
/// <summary>
/// 执行查询语句,返回DataSet
/// </summary>
/// <param name="SQLString">查询语句</param>
/// <returns>DataSet</returns>
public static DataSet Query(string SQLString)
{
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
DataSet ds = new DataSet();
try
{
connection.Open();
MySqlCommand M = new MySqlCommand("set names 'latin1'", connection);
M.ExecuteNonQuery();
//
MySqlDataAdapter da = new MySqlDataAdapter(SQLString, connection);
da.Fill(ds);
}
catch (MySqlException ex)
{
connection.Close();
throw new Exception(ex.Message);
}
finally
{
connection.Close();
}
DataTable dt = ds.Tables[0];
foreach (DataRow dr in dt.Rows)
{
for (int i = 0; i < dt.Columns.Count; i++)
{
dr[i] = Encoding.UTF8.GetString(Encoding.GetEncoding("latin1").GetBytes(dr[i].ToString()));
}
}
return ds;
}
}
一定要注意上面的红色字体。
发表评论
-
phpredis 安装
2015-12-16 16:47 576phpredis是个人觉得最好的一个php-redis客户端, ... -
Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
2015-08-26 10:04 679一、问题: 数据库表数据 ... -
Ubuntu14.04安装 php及mysql
2015-08-18 11:17 1061①安装php: sudo apt-get install ... -
PHP swfupload图片文件上传实例代码
2015-05-18 11:34 692swfupload是一个flash插件它可以结合php来快 ... -
php 如何开启com组件?
2013-05-08 13:04 2178先到PHP.INI中打开COM选项,com.allow_d ... -
教大家如何利用PHP去修改word的内容
2013-05-02 09:24 1909今天给大家带来一个教程,教大家如何利用PHP去修改wo ... -
20130324
2013-03-24 22:36 0203 -
PHP检测函数所在的文件名
2013-01-20 12:56 962很简单的功能,用到PHP中的反射机制,具体使用的是Refl ... -
php 下载文件,中文乱码问题
2012-11-24 16:07 1243通过把Content-Type设置为application/o ... -
CKEditor图片上传功能开启方法
2012-03-15 17:12 1761PHP怎么给ckeditor编辑器加上传图片的功能? A ... -
不错的威盾PHP加密专家解密算法
2012-02-21 16:29 1191<?php <?php /********* ... -
在php中使用CKEDITOR在线编辑器
2012-01-30 16:55 2949一、官方Download 1、CKEditor ... -
windows nginx php配置
2011-12-27 14:40 1501传说中nginx要比apache的负载均衡好的多,堪称神器 ... -
开源VtigerCRM的安装
2011-10-14 15:14 3517SugarCRM是一个好东西,04年刚刚发布 ... -
MongoDB的group分组操作
2011-09-15 15:11 2065先插入测试数据: for(var i=1; i<20; ... -
用php实现mongoDB的基本操作
2011-09-15 15:07 1296说到php连mongoDB,不得不先介绍一下php的官方手 ... -
用 nuSOAP解决传递对象数组的问题
2011-08-25 15:48 1503准备工作 首先定义一个类UserInfo:class ... -
PHP SOAP服务器端 C#客户端
2011-08-24 17:22 1318最近写了个PHP的SOAP服务器 端,实现了PHP客户端的调 ... -
php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!
2011-08-17 16:59 1970php如何将图片gif,jpg或mysql longblob或 ... -
php的date()函数详细介绍
2011-08-04 16:46 7681,年-月-日 echo date('Y-m ...
相关推荐
在C#编程环境中,连接MySQL数据库通常依赖于特定的数据提供者,这就是MySql.Data.dll和MySql.Web.dll的角色。这两个动态链接库(DLL)文件是MySQL官方提供的.NET数据访问组件,使得C#开发者能够轻松地与MySQL服务器...
本篇文章将详细探讨如何使用C#连接MySQL数据库,特别是针对Mysql.data.dll版本5.0.8.1和6.2.1.0。 首先,`Mysql.data.dll`是MySQL官方提供的.NET数据提供程序,它实现了ADO.NET接口,使得C#应用程序能够与MySQL...
C#通过MySql.Data.dll连接MySql数据库 在项目中引用组件:MySql.Data.dll (记得复制到本地中选择为true / 或直接把MySql.Data.dll复制到debug文件夹下) 在代码中 using MySql.Data.MySqlClient; ......接下来这里...
MySQL.Data.dll是MySQL数据库连接器的一个重要组成部分,主要用于C#和其他.NET Framework应用程序与MySQL服务器进行交互。这个8.0版本的类库提供了丰富的API,使开发者能够方便地执行SQL查询、管理数据库对象以及...
用于mysql8.0版本的MySql.Data.dll类库,直接引用使用
总的来说,`MySQL.data.dll`是C#程序员连接到MySQL数据库的关键组件。这个压缩包提供的多个版本覆盖了广泛的.NET框架,确保了对不同环境的兼容性。为了确保最佳性能和稳定性,开发者应该根据项目需求选择合适的版本...
(1)建立连接: MySqlConnectionsqlCon= new MySqlConnection("Database=数据库名字;Data Source=服务器的ip地址;User Id=用户名;Password=用户密码"); 或者: MySqlConnectionsqlCon= new MySqlConnection(...
这通常可以通过在解决方案资源管理器中右键点击“引用”目录,选择“添加引用”,然后在浏览选项中找到MySql.Data.dll来完成。对于不同版本的MySQL数据库,可能需要对应版本的MySql.Data.dll,以确保兼容性。 接...
MySQL.Data.dll是MySQL数据库连接器的一个重要组件,主要用于.NET应用程序与MySQL服务器之间的数据交互。这个文件是.NET Framework的一部分,允许开发者使用C#、VB.NET或其他.NET支持的语言来编写能够访问MySQL...
Sqlguar的源码中对MySql.Data.dll 做了强引用,版本必须为6.2.1.0,否则会报错。NuGet中的是最新的,所以基本上不能用,会报错: 需要引用MySql.Data.dll,请在Nuget安装最新稳定版本,如果有版本兼容问题请先删除原有...
MySQL.Data.dll是MySQL数据库连接器的一个重要组成部分,主要用于.NET Framework 2.0应用程序与MySQL服务器之间的数据交互。这个DLL文件是MySQL官方提供的,允许开发者在使用C#、VB.NET或其他.NET支持的语言时,轻松...
MySQL.Data.dll是MySQL数据库连接器的一个重要组件,用于.NET Framework 4.0环境下的C#开发者,它使得C#应用程序能够方便地与MySQL数据库进行交互。这个库包含了各种类和方法,允许开发者执行SQL查询、管理数据库...
MySQL.Data.dll 是一个重要的.NET框架库,专门为C#开发者提供与MySQL数据库交互的功能。这个库使得在C#环境中,开发者可以像操作SQL Server那样方便地操作MySQL数据库,大大简化了跨平台数据库应用的开发工作。 ...
MySql.Data.dll 下载 实例: /// <summary> /// MySQL数据库操作 /// author:hhm /// date:2012-2-22 /// </summary> public class MySqlDbHelper { #region 私有变量 private const string defaultConfigKeyName =...
MySql.Data.dll 8.0.30最新版
MySQL数据访问库MySQL.data.dll是用于连接和操作MySQL数据库的关键组件,主要在.NET环境中使用,如Visual Studio(VS)项目。这个DLL文件包含了.NET开发者所需的API,使得他们能够通过C#、VB.NET或其他.NET支持的...
把MySql.Data.dll放到工程debug文件夹下,然后在应用工程中引用组件:MySql.Data.dll 在代码页中:using MySql.Data.MySqlClient;
MySQL.Data.dll是MySQL数据库连接器的一个重要组件,主要用于.NET应用程序与MySQL服务器之间的数据交互。这个6.9.9版本的动态链接库(DLL)文件包含了必要的API和类库,使得开发人员能够在C#、VB.NET或其他.NET支持...
7. **连接池**:`MySql.Data.dll`支持连接池,这是.NET Framework的一部分,能重用已建立的连接,从而提高性能并减少资源消耗。 8. **元数据访问**:`MySqlSchemaProvider`允许开发者获取关于数据库架构的信息,如...
MySQL.Data.dll是MySQL数据库连接器的一个重要组件,用于.NET应用程序与MySQL服务器之间的通信。这个库提供了丰富的API,使得开发者能够方便地在C#、VB.NET或其他.NET语言中编写与MySQL交互的应用程序。在这个讨论中...