当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net读取数据库乱码的解决完全方案

ASP.NET
asp.net SqlParameter关于Like的传参数无效问题
数据库 数据类型float到C#类型decimal, float数据类型转化无效
google suggest 下拉菜单实现代码(asp.net版本)
asp.net(C#) 动态添加非ASP的标准html控件(如添加Script标签)
asp.net GridView导出到Excel代码
asp.net 开发的一些常用技巧
php 三级联动菜单
ASp.net 文本框(TextBox)计算,判断输入的是否是数字
asp.net 存储过程调用
asp.net 操作XML 按指定格式写入XML数据 WriteXml
asp.net连接数据库 增加,修改,删除,查询代码
VB.net 查询获取数据库数据信息
asp.net 删除,更新数据库方法
.net获取硬件信息_CPU序列号
ASP.NET 页面中动态增加的控件、添加事件
彻底解决ASP.NET MD5加密中文结果和ASP不一致的问题
asp.net结合aspnetpager使用SQL2005的存储过程分页
asp.net 用户控件读取以及赋值
asp.net 弹出警告窗口实现代码
asp.net 枚举文件里面的数字绑定到DropDownList里面去

ASP.NET 中的 asp.net读取数据库乱码的解决完全方案


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 219 ::
收藏到网摘: n/a

在下面的映射表中加入gb2312 和gbk,就不会有乱码了,源码在下面提供一位网友写的程序改了改

private static void LoadCharsetMap()
{
mapping = new Hashtable();

mapping.Add( "big5", "big5" ); // Traditional Chinese
mapping.Add( "sjis", "sjis" ); // Shift-JIS
mapping.Add( "gb2312", "gb2312" );
mapping.Add( "latin1", "latin1" );
mapping.Add( "latin2", "latin2" );
mapping.Add( "latin3", "latin3" );
mapping.Add( "latin4", "latin4" );
mapping.Add( "latin5", "latin5" );
mapping.Add( "greek", "greek" );
mapping.Add( "hebrew", "hebrew" );
mapping.Add( "utf8", "utf-8" );
mapping.Add( "ucs2", "UTF-16BE" );
mapping.Add( "cp1251", 1251 );
mapping.Add( "tis620", 874 );
mapping.Add( "binary", "latin1" );

// relatively sure about
/**//* mapping.Add( "default", 0 );
mapping.Add( "cp1251", 1251 ); // Russian
mapping.Add( "win1251", 1251 );
mapping.Add( "gbk", 936 ); // Simplified Chinese
mapping.Add( "cp866", 866 );
mapping.Add( "euc_kr", 949 );

// maybe, maybe not
mapping.Add( "win1250", 1250 ); // Central Eurpoe
mapping.Add( "win1251ukr", 1251 );
mapping.Add( "latin1_de", 1252 ); // Latin1 German
mapping.Add( "german1", 1252 ); // German
mapping.Add( "danish", 1252 ); // Danish
mapping.Add( "dos", 437 ); // Dos
mapping.Add( "pclatin2", 852 );
mapping.Add( "win1250ch", 1250 );
mapping.Add( "cp1257", 1257 );
mapping.Add( "usa7", 646 );
mapping.Add( "czech", 912 );
mapping.Add( "hungarian", 912 );
mapping.Add( "croat", 912 ); */

/**//* ("gb2312", "EUC_CN");
("ujis", "EUC_JP");
("latvian", "ISO8859_13");
("latvian1", "ISO8859_13");
("estonia", "ISO8859_13");
("koi8_ru", "KOI8_R");
("tis620", "TIS620");
("macroman", "MacRoman");
("macce", "MacCentralEurope");
*/

}