用evc编写应用程序,开发数据库管理系统。设置encoding为UTF-8,能够插入中文数据,用SQLite Expert Personal看数据库,中文正常。别的程序查询数据库,并显示于EDIT控件中,正常。但是使用list control 控件,查询数据库,显示控件上,出现了中文乱码的问题,请教一下是什么原因
我确定了错误的地方,就是在读数据库数据(UTF-8)显示在list control控件是,list控件如果读到的数据为UTF-16的,就正确了,所以我需要解决的事情就是,读数据库数据(UTF-8),转换为UTF-16,然后显示,应该就ok了。 继续研究,acmain_chm,有好的建议请指点哈~~~~下面是出问题的代码段 void CKLMDlg::OnRefresh() { int i = 0 ; int nrow = 0, ncolumn = 0; char **azResult=NULL; //二维数组存放结果 char *zErrMsg = 0; int index,j; int nItem; int result; CListCtrl * pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST2); CRect rt; pListCtrl->GetClientRect(&rt); char *sql = "SELECT * from Fault"; /****************************************************************************************************************/ result=sqlite3_get_table( db , sql , &azResult , &nrow , &ncolumn,&zErrMsg ); index = ncolumn;