Súhrn
Pri konvertovaní čísel Unicode s plnou šírkou (U + FF10-U + FF19) na štandardné čísla s polovičnou šírkou (U +0030-U + 0039) pri používaní WideCharToMultiByte neprevádzajte konverziu na Windows 95 a 98. Na konvertovanie znakov s plnou šírkou na znaky s polovičnou šírkou je potrebné použiť LCMapString rozhrania API s príznakom LCMAP_HALFWIDTH.
Ďalšie informácie
Keďže verzia W tohto rozhrania API nefunguje vo Windowse 95 a Windowse 98 1 potrebuje skonvertovať znaky s plnou šírkou z formátu Unicode na správne reťazce DBCS a potom zavolať LCMapString na konverziu. Tu je vzorová práca s číslami Unicode s plnou šírkou v tradičnej čínštine, zjednodušenej čínštine, japončine a kórejčine:
#include <stdio.h>#include <tchar.h>#include <windows.h>void main(void){WCHAR T[2] = {65301, 0};TCHAR dbcs[3], conv[3];WideCharToMultiByte(CP_ACP, 0, T, -1, dbcs, sizeof(dbcs), NULL, NULL);int nRes = LCMapString(LOCALE_USER_DEFAULT, LCMAP_HALFWIDTH, dbcs,sizeof(dbcs),conv,sizeof(conv));printf("%s\n",conv);}
Ak chcete vykonať konverziu pre Windows 95 a Windows 98, nainštalujte jednu zo štyroch kódových stránok (950 pre tradičnú čínštinu, 936 pre zjednodušenú čínštinu, 932 pre japončinu a 949 pre kórejčinu) v systéme a explicitne nastavte parametre kódovej stránky a ID miestnych nastavení vo vyššie uvedených hovoroch API.
Odkazy
Ďalšie informácie o inštalácii kódovej stránky nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:
164948 Inštalácia kódovej stránky