Charset : 130 devient 233 [C/C++ et W2K] - C++ - Programmation
Marsh Posté le 06-09-2002 à 15:12:26
Normal, la console utilise pas le même jeu de caractère je crois.
Marsh Posté le 06-09-2002 à 15:16:10
letoII a écrit a écrit : Normal, la console utilise pas le même jeu de caractère je crois. |
Pourquoi alors Alt + 130 donne bien 'é'
Il existe une solution pour uniformiser ce bordel ?
Marsh Posté le 06-09-2002 à 15:18:29
ben 130 pour la console et 233 pour windows, tu tape ton code dans une fenêtre windows? ben il te met un 233 pour faire un "é".
Bon c à vérifier mais je pense que ça vient de là.
Pour uniformiser... je sais pas.
Marsh Posté le 06-09-2002 à 15:30:26
>> Pourquoi alors Alt + 130 donne bien 'é'
c'est "l'ancien" jeu de caractères.
en unicode, c'est 233. à préfixer avec 0 sous windows : alt + 0233 = é.
bref le 'ù' est la bonne valeur (233), mais pas la bonne fonte d'affichage.
Marsh Posté le 06-09-2002 à 15:34:46
En passant ...
Si tu prends un é en ASCII (130) et si tu passes
par un outil de conversion (UltraEdit32 conversion OEM -> ANSI)ça donne 233 (ANSI)
Aurais-tu une conversion implicite faite / à tes outils
de développement ?
Marsh Posté le 06-09-2002 à 15:35:40
http://czyborra.com/charsets/codepages.html
MS-DOS code pages
CP437 (DOSLatinUS)
é = 0x82 (130)
MS-Windows code pages
CP1252 (WinLatin1)
é = 0e9 (233)
Marsh Posté le 08-09-2002 à 04:07:31
Il y a des APIs pour convertir:
Code :
|
Marsh Posté le 06-09-2002 à 15:10:45
En gors j'ai un prog C du genre
En paramètres j'écris "touché" (é = 130).
Dans le programme ça devient un ù (=233)
C'est quoi ce bordel ?
Si dans le programme je fais :
printf("é.\n" ) ou printf("%c.\n", 'é' donne 'ù'
printf("%c.\n", 130) donne bien 'é'
Avec VC++ et W2K
---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html