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

ASP.NET
asp.net 动态生成表格
asp.net 程序优化精选
DataGridView自动调整行高和行宽
asp.net+js实现的ajax sugguest搜索提示效果
asp.net 将设有过期策略的项添加到缓存中
asp.net SqlDataAdapter对象使用札记
DataGrid 动态添加模板列 实现代码
asp.net 设置GridView的选中行
the sourcesafe database has been locked by the administrator之解决方法
asp.net 退出登陆(解决退出后点击浏览器后退问题仍然可回到页面问题)
Asp.Net HttpHandler 妙用
ASP.NET 保留文件夹详解
asp.net 中将表单提交到另一页 Code-Behind(代码和html在不同的页面)
SqlDataSource 链接Access 数据
asp.net GridView的删除对话框的两种方法
asp.net 按字节检查包含全半角的文字
asp.net String.IsNullOrEmpty 方法
asp.net System.Net.Mail 发送邮件
c# 读取文件内容存放到int数组 array.txt
asp.net Split分割字符串的方法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 226 ::
收藏到网摘: 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");
*/

}