读取数据库乱码解决方案

2008-08-19 15:09:27.0     推荐:0    收藏:0    评论:0     来源:中国IT实验室

在下面的映射表中加入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");

您可以针对本文进行:[评论]  [收藏]  [推荐]  
  • 共有0条评论  点击查看更多评论
  • 网友评论仅供网友表达个人看法,并不表明e800同意其观点或证实其描述
我想发表评论:
用户名密码
  • 匿名发表
    验证码: