专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Delphi

怎么将简体字保存到繁体数据库而不会出现乱码

发布时间:2011-06-24 19:36:53 文章来源:www.iduyao.cn 采编人员:星星草
如何将简体字保存到繁体数据库而不会出现乱码?
如何将简体字保存到繁体数据库而不会出现乱码? 
Client环境:简体系统,写入简体字
Server:SQL Server2000数据库语言,Chinese_Taiwan_Stroke_BIN

现在出现的情况就是 有些字写入数据库后就变成?了
------解决方案--------------------
将数据库中相应的字段类型改为NCHAR,NVARCHAR,用参数传值即可,.NET是Unicode编码不分简繁体...一定要拼字符串在字符串前加上N字头...如N'简体繁體都一樣'...
------解决方案--------------------
问题已经解决了,谢谢。我是用的以下这两个函数进行 写入时 简转繁,读出时  繁转简  
function   GBCht2Chs(GBStr:String):AnsiString;     //繁体转简体
function   GBChs2Cht(GBStr:String):AnsiString; //简体转繁体

function   GBCht2Chs(GBStr   :   String):   AnsiString;   
  {进行GBK繁体转简体}   
  var   
      Len:   Integer;   
      pGBCHTChar:   PChar;   
      pGBCHSChar:   PChar;   
  begin   
      pGBCHTChar   :=   PChar(GBStr);   
      Len   :=   MultiByteToWideChar(936,0,pGBCHTChar,-1,nil,0);   
      GetMem(pGBCHSChar,Len*2+1);   
      ZeroMemory(pGBCHSChar,Len*2+1);   
      //GB   CHS   ->   GB   CHT   
      LCMapString($804,LCMAP_SIMPLIFIED_CHINESE,pGBCHTChar,-1,pGBCHSChar,Len*2);   
      Result   :=   String(pGBChsChar);   
      //FreeMem(pGBCHTChar);   
      FreeMem(pGBCHSChar);   
  end;   
    
  function   GBChs2Cht(GBStr   :   String):   AnsiString;   
  {进行GBK简体转繁体}   
  var   
      Len:   Integer;   
      pGBCHTChar:   PChar;   
      pGBCHSChar:   PChar;   
  begin   
      pGBCHSChar   :=   PChar(GBStr);   
      Len   :=   MultiByteToWideChar(936,0,pGBCHSChar,-1,nil,0);   
      GetMem(pGBCHTChar,Len*2+1);   
      ZeroMemory(pGBCHTChar,Len*2+1);   
      //GB   CHS   ->   GB   CHT   
      LCMapString($804,LCMAP_TRADITIONAL_CHINESE,pGBCHSChar,-1,pGBCHTChar,Len*2);   
      Result   :=   String(pGBCHTChar);   
      FreeMem(pGBCHTChar);   
      //FreeMem(pGBCHSChar);   
  end;   
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: