asp.net使用Mysql乱码处理
在asp.net与mysql数据库打交道的时候,由于配置的问题,会遇到自己写的方法在读取数据库中数据的时候,英文,数字可以正常通过,但是中文就无法通过,以登录为例(方法略),当输入英文用户名的时候可以正常登录,但输入中午的时候方法就会报错,解决方法如下:
1,在 mysql数据库安装目录下找到my.ini文件,把default-character-set的值修改为 default-character-set=gb2312(修改两处),保存,重新启动
2,找到asp.net文件的web.config文件,在</httpModules>标签的后面添加<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>
3,如果连接数据库的字符串写在web.config里面,则在连接字符串里面添加charset=gb2312(如:<add key="test" value="server=localhost;database=dbtest;uid=root;pwd=root;charset=gb2312"/>)
4,重新编译。
有时还会遇到数据库里面显示的数据是中午,但读取到页面之后成了乱码,而且在写存储工程的时候,有中文出现,编译不会通过,我的解决方法是,我的解决方法是,把中文都转化为十六进制,然后读出来。代码如下托福答案
Mysql:
drop procedure if exists proc_hm_holiday_top5;
create procedure proc_hm_holiday_top5()
begin
select *,(select userinfo_name from hm_userinfo where userinfo_id=holiday_uid) as username,
case
when holiday_type=1 and holiday_typeTwo=1 then _utf8 0xE8AFB7E581872FE79785E5818720
when holiday_type=1 and holiday_typeTwo=2 then _utf8 0xE8AFB7E581872FE4BA8BE5818720
when holiday_type=1 and holiday_typeTwo=3 then _utf8 0xE8AFB7E581872FE4B8A7E5818720
when holiday_type=1 and holiday_typeTwo=4 then _utf8 0xE8AFB7E581872FE5A99AE5818720
when holiday_type=1 and holiday_typeTwo=5 then _utf8 0xE8AFB7E581872FE4BAA7E5818720
when holiday_type=1 and holiday_typeTwo=6 then _utf8 0xE8AFB7E581872FE5B9B4E5818720
when holiday_type=1 and holiday_typeTwo=7 then _utf8 0xE8AFB7E581872FE585B6E4BB9620
when holiday_type=2 then _utf8 0xE58AA0E78FAD
when holiday_type=3 then _utf8 0xE587BAE5B7AE
when holiday_type=4 then _utf8 0xE7A7BBE4BC91
end
as holiday_class from hm_holiday where 1=1 order by holiday_addTime desc limit 5;
end;
C#代码(将中文转化为十六进制)
public string GetHexFromChs(string s)
{
if ((s.Length % 2) != 0)
{
s += " ";//空格
}
System.Text.Encoding chs = System.Text.Encoding.GetEncoding("utf-8");
byte[] bytes = chs.GetBytes(s);
string str = "";
for (int i = 0; i < bytes.Length; i++)
{
str += string.Format("{0:X}", bytes[i]);
}
return str;
}
private void button1_Click(object sender, EventArgs e)
{
string shuru = textBox1.Text.Trim().ToString();
string str = GetHexFromChs(shuru);
textBox2.Text = str.Trim().Trim();
}
asp.net使用Mysql乱码处理的更多相关文章
- ASP.NET 访问 MySql
1. 首先需要安装mysql, 脚本之家下载地址: http://www.jb51.net/softs/2193.html 或者去mysql.com官网都可以,一路next,安装好后,有个简单配置,提 ...
- SpringMVC保存数据到mysql乱码问题
SpringMVC保存数据到mysql乱码问题 乱码问题常见配置 一.web.xml配置过滤器 <filter> <filter-name>encoding-filter< ...
- 10分钟学会理解和解决MySQL乱码问题
在阅读本文之前,强烈建议对字符集编码概念还比较模糊的同学 阅读下博主之前对相关概念的一篇科普:十分钟搞清字符集和字符编码 本博客已经迁移至: http://cenalulu.github.io/ 为了 ...
- ASP 编码转换(乱码问题解决)
ASP 编码转换(乱码问题解决) 输出前先调用Conversion函数进行编码转换,可以解决乱码问题. 注,“&参数&”为ASP的连接符,这里面很多是直接调用的数据库表字段,实际使用请 ...
- 理解和解决MySQL乱码问题【转】
本文来自:http://www.cnblogs.com/cenalulu/p/4325693.html 要了解为什么会出现乱码,我们就先要了解从客户端发起请求,到MySQL存储数据,再到下次从表取回客 ...
- ASP.NET 连接MySQL数据库 详细步骤
ASP.NET默认的数据库是MS SQL Server,微软的数据库产品.事实上,如果不计成本因素的话,Windows Server + IIS + MS SQL Server + ASP.NET是网 ...
- 理解和解决MySQL乱码问题
本文将详细介绍MySQL乱码的成因和具体的解决方案 在阅读本文之前,强烈建议对字符集编码概念还比较模糊的同学 阅读下博主之前对相关概念的一篇科普:十分钟搞清字符集和字符编码 MySQL出现乱码的原因 ...
- ASP+Access UTF-8 网页乱码问题解决办法
用ACCESS数据库和ASP做网站时用UTF-8编码有时会出现乱码,再者网页出错或者刷新页面后就是乱码,如果数据库取值乱码在开头加上<%@LANGUAGE="VBSCRIPT" ...
- Asp.Net连接Mysql报错Out of sync with server
Asp.Net连接Mysql报错Out of sync with server 原因:程序引用的MySql.Data.dll版本高于服务器版本 解决:下载一个低版本的MySql.Data.dll,项目 ...
随机推荐
- Curling 2.0(dfs)
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8795 Accepted: 3692 Description On Pl ...
- 数学(莫比乌斯反演):HAOI 2011 问题B
题目描述: 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. 输入格式: 第一行一个整数n,接下来n ...
- 图论(无向图的割顶):POJ 1144 Network
Network Description A Telephone Line Company (TLC) is establishing a new telephone cable network. ...
- nginx在mac下的安装与基本操作
1. 安装 brew install nginx(需要安装homebrew) 2. 执行 nginx 直接启动nginx服务 3. nginx -s reload/stop 4. 配置地址 sud ...
- 动态规划——数位dp
通过先前在<动态规划——背包问题>中关于动态规划的初探,我们其实可以看到,动态规划其实不是像凸包.扩展欧几里得等是具体的算法,而是一种在解决问题中决策的思想.在不同的题目中,我们都需要根据 ...
- HDU 4751 Divide Groups 2013 ACM/ICPC Asia Regional Nanjing Online
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4751 题目大意:判断一堆人能否分成两组,组内人都互相认识. 解题思路:如果两个人不是相互认识,该两人之 ...
- 在Eclipse工具里创建maven的web工程,在建立src/main/java包出现The folder is already a source folder.解决
1. 与创建普通java工程一样,点击右键找到New菜单,在弹出的界面输入maven ---->>点击maven Project------>>点击next 2 进入下一个界 ...
- 编写一个方法,输入DOM节点,返回包含所有父节点的一个数组
编写一个方法,输入DOM节点,返回包含所有父节点的一个数组 function getParentsNodes(element) { var parents = []; var getParentsNo ...
- JVM运行数据区
1.java虚拟机在运行的时候会把内存分为以下几个区域,如图:
- Java中的字符串流的读取和写入(创建文件并判断重复账户)
各位我又来了!!哎!好心酸!我还没注册到三天!!没法登上博客的首页!!心累!! import java.io.BufferedOutputStream; import java.io.Buffered ...