当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 我会给高分的。 ......
    摘要: 做一个人事系统。 选择,部门下拉框,选中某个部门,自动的后面姓名下拉框出现该部门中的所有人姓名,提供选择。 数据都在数据库中的,需要调,好象比较麻烦? ......


5高分求解:关于UNICODE的问题(再再加100分,累计已经达500,目标1000)

请回答  
  http://expert.csdn.net/Expert/topic/1690/1690245.xml?temp=.3285944  
  这个问题.  
  并且请不要这里回答  
  这里留做为能提供有帮助回复者送分表示感谢.  
   
  原问题  
  ----------------------------------------------------------  
  我使用VC读取SQL   Server中NCHAR字段,  
  这个字段中存放了unicode类型的字符串  
  可是我不能定义_UNICODE,因为我使用ISAPI  
  ISAPI不支持unicode  
   
  我如何做才能把读到的数据转换成unicode的字符串并输出?  
  (使用MBCS会乱码)  
   
  m_pRecordset->Open("SELECT   *   FROM   users",_variant_t((IDispatch*)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);  
  _variant_t   vName;  
  int   i=0;  
  while(!m_pRecordset->adoEOF)  
  {  
  i++;  
  vName   =   m_pRecordset->GetCollect("name");  
  *pCtxt   <<   _T((_bstr_t)vName   )  
  ...  
  }  
   
   
  谢谢.  
 

NO.1   作者: masterz

void   CNchartestExtension::Default(CHttpServerContext*   pCtxt)  
  {  
  *pCtxt<<"<html><head>\n";  
  *pCtxt<<"<meta   HTTP-EQUIV=\"content-type\"   CONTENT=\"text/html;   charset=UTF-8\">";  
  *pCtxt<<"</head><body>";  
  char   mybuf[10240];  
  try  
  {  
  _ConnectionPtr   pConn("ADODB.Connection");  
  _RecordsetPtr     pRst("ADODB.Recordset");  
   
  pConn->Open("Provider=SQLOLEDB;   Data   Source=192.168.0.2,1433;   Network   Library=DBMSSOCN;   Initial   Catalog=TestDB;User   ID=masterz;Password=sa;",  
  "",   "",   adConnectUnspecified);  
  //   Note   1.  
  pRst->Open(  
  "Table1",  
  _variant_t((IDispatch   *)   pConn,   true),  
  adOpenStatic,  
  adLockReadOnly,  
  adCmdTable);  
  pRst->MoveFirst();  
  while(pRst->EndOfFile==VARIANT_FALSE)  
   
  {  
  _bstr_t   bstrvalue   =   (_bstr_t)   pRst->Fields->Item["nchardata"]->Value;  
  char*   buf=(new   char[bstrvalue.length()*3]);  
  ZeroMemory(buf,bstrvalue.length()*3);  
  int   nret=WideCharToMultiByte(CP_UTF8,0,(LPCWSTR)bstrvalue,bstrvalue.length(),buf,bstrvalue.length()*3,NULL,  
  FALSE);  
   
  //*pCtxt   <<   "nchar   field   data:"<<(char*)   ((_bstr_t)   pRst->Fields->Item["nchardata"]->Value);  
  *pCtxt<<buf;  
  *pCtxt<<"<BR>";  
  pRst->MoveNext();  
  delete[]   buf;  
  }  
  pRst->Close();  
  pConn->Close();  
  }  
  catch   (_com_error   &e)  
  {  
  sprintf(mybuf,"Description   =   %s\n",   (char*)   e.Description());  
  *pCtxt   <<mybuf;  
  }  
  EndContent(pCtxt);  
  }  
 


    摘要: 请回答 http://expert.csdn.net/expert/topic/1690/1690245.xml?temp=.3285944 这个问题. 并且请不要这里回答 这里留做为能提供有帮助回复者送分表示感谢. 原问题 ---------------------------------------------------------- 我使用vc读取sql server中nchar字......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE