自然人憑證內的中文是用UTF-8的格式儲存的,如果讀出來後直接用printf 顯示,中文會是亂碼,解決方法如下
#include <windows.h>
#include <locale.h>
char ppchDN[512]; //憑證資料
WCHAR wszUserName[1024+1]; // Unicode user name
MultiByteToWideChar( CP_UTF8, 0, ppchDN,-1, wszUserName,1024 ); //UTF-8 -> Unicode
setlocale(LC_ALL,"Chinese_Taiwan.950"); // 設定Codepage=950
wprintf(L"Issuer DN: %s\n",wszUserName); // Unicode -> 950 輸出
2007年10月23日 星期二
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言