סיכום

בעת המרת מספרי Unicode ברוחב מלא (U + FF10-U + FF19) למספרים רגילים בחצי רוחב (U +0030-U + 0039) בעת השימוש ב-WideCharToMultiByte, ההמרה אינה מתבצעת ב-Windows 95 וב-98. יש להשתמש ב-API LCMapString עם דגל LCMAP_HALFWIDTH כדי להמיר את התווים ברוחב מלא לתווים בחצי רוחב.

מידע נוסף

מאחר שגירסת ה-W של אפליקציית API זו אינה פועלת ב-Windows 95 ו-Windows 98 1 צריך להמיר את התווים ברוחב מלא מ-Unicode למחרוזות DBCS מתאימים, ולאחר מכן להתקשר LCMapString כדי לבצע את ההמרה. להלן דוגמה לעבודה עם מספרי Unicode ברוחב מלא בסינית מסורתית, סינית פשוטה, יפנית וקוריאנית:

#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);}

כדי לבצע את עבודת ההמרה עבור Windows 95 ו-Windows 98, התקן אחד מארבעת עמודי הקוד (950 עבור סינית מסורתית, 936 עבור סינית פשוטה, 932 עבור יפנית ו-949 for קוריאנית) במערכת והגדר באופן מפורש את הפרמטרים של דף הקוד ואת מזהה האזור בשיחות API לעיל.

הפניות

לקבלת מידע נוסף אודות התקנת דף קוד, לחץ על מספר המאמר הבא כדי להציג את המאמר ב-Microsoft Knowledge Base:

164948 כיצד להתקין קידוד

זקוק לעזרה נוספת?

מעוניין באפשרויות נוספות?

גלה את יתרונות המנוי, עיין בקורסי הדרכה, למד כיצד לאבטח את המכשיר שלך ועוד.

קהילות עוזרות לך לשאול שאלות ולהשיב עליהן, לתת משוב ולשמוע ממומחים בעלי ידע עשיר.