windows - Hvorfor er ledende cifre i alfanumerisk streng konverteret til østlige arabiske cifre?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at spore et problem i en (C ++) Windows-applikation, der forekommer i den arabiske sprogversion af Windows (XP Pro x86 SP3).


Vi viser en adgangskode som følgende i et statisk tekstfelt i en dialogboks:


0123456789ABC0123456789ABC


... og noget forårsager, at de førende cifre vises som arabiske tal:


٠‎١‎٢‎٣‎٤‎٥‎٦‎٧‎٨‎٩ABC0123456789ABC


Bemærk, at kun de førende cifre er berørt. Det får mig til at tro, at nogle automatiske anlæg i Windows forårsager dette, men jeg har søgt MSDN og fundet ingen spor. Jeg ved ikke meget om sproget til højre mod venstre i Windows (eller arabisk for den sags skyld) så jeg er ikke sikker på, hvad mekanismen kan være, eller hvordan man undertrykker denne adfærd.


Kan nogen med erfaring med at skrive Windows apps til engelsk/arabisk udstråle noget lys på dette?


Tak for enhver hjælp.

Bedste reference


Dette er kendt som kontekstuel cifret substitution, undertiden også kaldet cifferdannelse. Som den anden linkede webside angiver, kan du prefikse en U + 206F for at tvinge europæiske cifre. [3] [4]