Page 1 sur 1

Caractères accentués dans une application console.

Publié : sam. 05/juil./2014 17:34
par NY152
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

Re: Caractères accentués dans une application console.

Publié : sam. 05/juil./2014 17:47
par falsam
De cette maniere (Solution donné par Goznal)

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
:idea: Fonctionne sans activation du mode unicode.

Re: Caractères accentués dans une application console.

Publié : sam. 05/juil./2014 21:50
par NY152
J'ai des points d’interrogation à la place du texte ... Je creuserais pour voir ce qui cloche demain

Re: Caractères accentués dans une application console.

Publié : sam. 05/juil./2014 22:08
par venom
NY152 a écrit :J'ai des points d’interrogation à la place du texte ... Je creuserais pour voir ce qui cloche demain
Dans les options du compilateur, décoche la case "Activer le support unicode" :wink:






@++

Re: Caractères accentués dans une application console.

Publié : dim. 06/juil./2014 0:17
par falsam
venom a écrit :Dans les options du compilateur, décoche la case "Activer le support unicode" :wink:
J'aurais dit le contraire (Bien entendu j'ai fait un test)

Re: Caractères accentués dans une application console.

Publié : dim. 06/juil./2014 11:15
par nico
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.

Re: Caractères accentués dans une application console.

Publié : dim. 06/juil./2014 17:53
par NY152
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 ...

Re: Caractères accentués dans une application console.

Publié : dim. 06/juil./2014 19:04
par nico
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
Image