Bonjour,
Je cherche une méthode pour avoir les bons caractères en retour quand j'écris du texte dans la console. En effet, les caractères accentués et caractères spéciaux renvois des caractères inappropriés.
Quelqu'un aurait une fonction pour renvoyer la chaîne dans le bon format ?
D'avance, merci
Caractères accentués dans une application console.
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Caractères accentués dans une application console.
De cette maniere (Solution donné par Goznal)
Fonctionne sans activation du mode unicode.
Code : Tout sélectionner
If OpenConsole()
; Conversion ANSI -> OEM (ASCII)
MonMessageANSI.s = "Message envoyé !" ; avec accent ...
MonMessageASCII.s = MonMessageANSI
CharToOem_(@MonMessageANSI, @MonMessageASCII)
PrintN(MonMessageASCII)
While Inkey() = "" : Wend
CloseConsole()
EndIf
Dernière modification par falsam le dim. 06/juil./2014 11:45, modifié 1 fois.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Caractères accentués dans une application console.
J'ai des points d’interrogation à la place du texte ... Je creuserais pour voir ce qui cloche demain
.:NY152:.
Re: Caractères accentués dans une application console.
Dans les options du compilateur, décoche la case "Activer le support unicode"NY152 a écrit :J'ai des points d’interrogation à la place du texte ... Je creuserais pour voir ce qui cloche demain
@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Caractères accentués dans une application console.
J'aurais dit le contraire (Bien entendu j'ai fait un test)venom a écrit :Dans les options du compilateur, décoche la case "Activer le support unicode"
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Caractères accentués dans une application console.
Le code n'est pas le même suivant qu'on compile en ascii ou unicode, il peut fonctionner dans les deux modes mais il faut l'adapter.
Dans le cas de l'unicode, il n'y a pas besoin de fonctions API
Dans le cas de l'ASCII, il semble préférable d'utiliser CharToOemBuff pour des raisons de sécurité d'après Microsoft.
Dans le cas de l'unicode, il n'y a pas besoin de fonctions API
Dans le cas de l'ASCII, il semble préférable d'utiliser CharToOemBuff pour des raisons de sécurité d'après Microsoft.
Re: Caractères accentués dans une application console.
La fonction est bonne si on décoche unicode.
Peut être qu'une fonction regroupant les 2 modes si l'on peut savoir par le code si on est en unicode ...
Si quelqu'un sait ...
Peut être qu'une fonction regroupant les 2 modes si l'on peut savoir par le code si on est en unicode ...
Si quelqu'un sait ...
.:NY152:.
Re: Caractères accentués dans une application console.
Dans l'aide de window:
Thèmes divers
Les objets PureBasic
Numéros et Identifiants (Handles)
Gestion des messages Windows
Pointeurs et accès mémoire
Data (stockage de données)
Commandes de débogage
Les fonctions 'Include'
Les directives du compilateur
Les fonctions du compilateur
L'assembleur en ligne
Construire une DLL
Unicode
Sous Systems
Résidents
Utiliser plusieurs versions de PureBasic
Thèmes divers
Les objets PureBasic
Numéros et Identifiants (Handles)
Gestion des messages Windows
Pointeurs et accès mémoire
Data (stockage de données)
Commandes de débogage
Les fonctions 'Include'
Les directives du compilateur
Les fonctions du compilateur
L'assembleur en ligne
Construire une DLL
Unicode
Sous Systems
Résidents
Utiliser plusieurs versions de PureBasic