这个问题,我从看Rails的源代码里面找到了启发,其实非常简单。在.Net的客户端程序里面,一般用的是gb2312编码。
在Rails里面,缺省用的是UTF8编码,在Rails开始连接Mysql的时候,可以从源代码里面看到,他首先发送是一个Sql语句
set names 'utf8'
这个就是问题的关键之处,也就是说Mysql根据这个来判定客户端的编码。
在.Net里面可以在首次连接Mysql的时候发送这个命令就可以了。
譬如:
ISession session=ThreadLocalSession.CurrentSession();
IDbConnection conn = session.Connection;
IDbCommand cmd = conn.CreateCommand();
cmd.CommandText = "set names 'gb2312'";
cmd.ExecuteNonQuery();
ThreadLocalSession.CloseCurrentSession();
这里,我使用的是NHibernate,从这里也可以看到NHibernate和ADO.net的无缝连接。ADO.Net基于Inteface的编程方式加上NHibernate其实可以忽略各种Ado.net Provider驱动程序的差别,达到大部分的可移植性要求。
另外在ConnectString里面最后加上"CharSet=gb2312",这样应该就可以保证数据的正确写入和读出了。
Asp.net和Mysql这个组合还是非常好的,都是一定意义上的免费产品。
分享到:
相关推荐
### 彻底解决C# ASP.NET 连接MySQL乱码问题 在开发过程中,尤其是在处理中文数据时,经常遇到的一个问题是数据库连接时出现乱码。本文将详细介绍如何彻底解决使用C# ASP.NET 应用程序连接 MySQL 数据库时出现的乱码...
在.NET框架中,处理乱码是一项常见的任务,尤其是在与各种编码格式交互时。"WindowsApplication2"这个文件可能是一个简单的Windows应用程序示例,用于演示如何解决.NET中的编码问题。下面,我们将深入探讨.NET中处理...
在C#编程中,与MySQL数据库进行交互时,可能会遇到中文字符显示为乱码的问题。这个问题通常是由于编码不一致或设置不当导致的。本篇文章将深入探讨如何解决C#操作MySQL时的中文乱码问题,并提供相关的源码示例。 ...
在开发Web应用时,尤其是使用Java技术栈如JSP、Servlet与MySQL数据库交互时,中文乱码问题常常困扰着开发者。...这样,无论是在MySQL、JSP、Servlet还是C#或.NET环境中,中文字符都能正常显示,避免乱码的出现。
在使用C#与MySQL数据库进行交互时,遇到中文乱码问题是一个常见的困扰。尤其是在插入包含中文字符的数据时,如果处理不当,数据可能会显示为问号或者其他不可读的字符。这通常是因为字符编码不一致导致的。针对这个...
MySQL数据库在进行备份和恢复的过程中,可能会遇到乱码问题,这通常是由于编码设置不一致或者在处理文本数据时没有正确地处理字符集导致的。在本文中,我们将深入探讨MySQL备份乱码的原因、如何预防以及如何解决这类...
本问题聚焦于ASP(Active Server Pages)与MySQL数据库进行数据操作时遇到的乱码问题。这通常涉及到字符编码不一致、设置不当或者传输过程中的编码转换错误。下面我们将深入探讨这个主题,以及如何解决这类问题。 ...
本文将详细介绍解决Mysql5.0数据库中文乱码的万能方法,帮助你顺利处理这一常见问题。 1. **安装时设置编码** 在安装MySQL时,确保选择支持UTF-8编码的配置。UTF-8是一种广泛使用的多字节字符集,能支持大部分世界...
在VB.Net和MySQL中处理Unicode数据是开发过程中常见的任务,特别是在全球化的应用程序中,支持多种语言和字符集显得尤为重要。Unicode是一种广泛采用的标准,它定义了所有已知字符的编码,确保不同语言的文字可以在...
在C#中与MySQL数据库进行交互时,遇到中文乱码问题是一个常见的困扰。这通常涉及到字符编码设置不正确,导致数据在传输过程中发生了编码转换错误。以下是一些关键知识点,帮助你解决这个问题。 首先,我们需要了解...
在这个封装类中,特别指出了在连接字符串中加入charset=utf8参数,这是解决MYSQL中文乱码问题的一个重要配置。如果没有正确设置字符集,中文字符在数据库操作过程中可能会出现乱码,严重影响数据的读写准确性。 ...
在Windows Forms(Winform)应用开发中,遇到字符串转换出现乱码的问题是非常常见的。这通常涉及到字符编码的不一致...在实际操作中,根据实际情况调整和应用上述方法,相信你可以成功解决Winform中的字符串乱码问题。
### 在程序开发中的乱码问题解决办法 #### 知识点概述 在程序开发过程中,中文乱码问题一直是困扰很多开发者的一大难题。特别是在涉及到不同编码格式处理时,如果不注意编码设置,很容易出现乱码现象。本文将从多...
在IT行业中,尤其是在进行Web开发时,JSP(JavaServer Pages)中文乱码问题是一个常见的困扰。这主要是由于字符编码不一致导致的。以下是一些关键的知识点和解决方法: 1. **JSP页面乱码** 当JSP页面中的中文字符...
6. **支持多语言和中文二维码**:如文件名所示,FastReport.Net完美支持中文字符,不会出现乱码问题,且在"FastReport完美支持中文二维码"的示例中,我们可以看到它还能生成包含中文的二维码。 7. **丰富的示例和...
MySQL中文乱码问题通常在处理中文字符时出现,特别是在MySQL 4.1及更高版本中,由于对多语言支持的增强,这个问题变得更加复杂。在早期版本的MySQL中,拉丁字符集latin1经常作为默认设置,这可能导致在处理非拉丁...
在MySQL的配置文件my.ini中设置这三个部分的默认字符集为UTF-8是解决乱码问题的关键步骤。 第一步,需要找到MySQL的安装目录,在Windows系统下通常是c:\Program Files\MySQL\MySQL Server 5.5。在这个目录下,找到...
使用`URLEncoder.encode`方法对URL中的中文参数进行编码,防止在URL传输过程中出现乱码。 5. **处理AJAX请求中的中文数据**: - 客户端: ```javascript var url = "action=add&name=" + encodeURIComponent...
在 ASP.NET 应用程序中,我们可以在 Web.config 文件中设置连接字符串中的编码。例如,我们可以使用 MySQL Connector Net 5.0.3,设置连接字符串如下: <add name="MySqlServer" connectionString="Data Source=...
通过上述方法,可以有效解决Java程序在处理中文数据时常见的乱码问题。关键在于确保在整个数据流转过程中所有涉及到的环节都使用一致的字符编码,特别是当涉及到不同系统间的交互时,更要格外注意编码的一致性。