Caption di MessageBoxW con caratteri cirillici

di il
2 risposte

Caption di MessageBoxW con caratteri cirillici

Questo semplicissimo codice mostra un box con "Ecco un testo", "Caption:"
#include <stdio.h>	// template for a simple C console app
#include <windows.h>	// needs Gcc or Visual C and the Compile plugin
int main(int argc, char* argv[]) {
  return MessageBoxW(0, L"??? ????? MessageBox", L"???????:", MB_YESNO | MB_ICONINFORMATION);
}
Il problema è che invece del "???????" come testo del caption, si vedono piccoli quadrati.

Nota bene:
- nessun problema per il secondo argomento, cioè il testo del MessageBox
- nessun problema per altre lingue "esotiche", tipo arabo o cinese
- nessun problema su Windows 10 versione italiana
- nessun problema su Windows XP versione inglese
- nessun problema su Windows 7, caption cirillico con un BOM Unicode.

Testato con C/C++, Assembly, FreeBasic. Il problema è veramente l'API di Windows.

Non ho accesso ad altre versione di Windows. Qualcuno può indagare e farmi sapere se è limitato a Win7 italiano? Grazie.

2 Risposte

  • Re: Caption di MessageBoxW con caratteri cirillici

    Scusa, ho riletto diverse volte ma non capisco:in quale configurazione ottieni dei quadratini nella caption della message box?
    Nell'elenco leggo solo che hai verificato "nessun problema" su diverse installazioni.
    Con quel programmino hai generato un eseguibile che hai lanciato sulle diverse installazioni? E hai creato anche un eseguibile in Assembly e uno con FreeBasic che hai lanciato ugualmente su tutte quelle postazioni con gli stessi risultati? E' questo che intendi con "Testato con C/C++, Assembly, FreeBasic." ?
  • Re: Caption di MessageBoxW con caratteri cirillici

    > in quale configurazione ottieni dei quadratini nella caption della message box?

    Con il codice sopra compilato con GCC

    > Con quel programmino hai generato un eseguibile che hai lanciato sulle diverse installazioni?

    Sì, esatto. Funziona con WinXP (VM) e Win10, ma con Win7-64 (italiano) la caption mi mostra quadratini.

    > E hai creato anche un eseguibile in Assembly e uno con FreeBasic che hai lanciato ugualmente su tutte quelle postazioni con gli stessi risultati?

    Appunto, stesso problema. Peraltro, anche se apro un file con un nome russo con un clic di destra in Explorer, l'applicazione visualizza il caption con quadratini. Vale per blocco note, MS Word ed altri. Invece se il nome contiene un BOM all'inizio, funziona!

    Quindi è un problema del OS stesso, non di un applicazione. Sono sicuro che funzionava qualche settimana fa; ho un sospetto che il problema è stato introdotto con un Windows update recente.
Devi accedere o registrarti per scrivere nel forum
2 risposte