Bonjour,

En PHP, j'utilise une méthode pour convertir les caractères cp1252 des saisies utilisateurs en iso-8859-1.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
function purge_iso88591($str)
{
	$cp1252_map = array(
	   "\x80" => "€", /* EURO SIGN */
	   "\x82" => "‚", /* SINGLE LOW-9 QUOTATION MARK */
	   "\x83" => "ƒ",     /* LATIN SMALL LETTER F WITH HOOK */
	   "\x84" => "„", /* DOUBLE LOW-9 QUOTATION MARK */
	   "\x85" => "…", /* HORIZONTAL ELLIPSIS */
	   "\x86" => "†", /* DAGGER */
	   "\x87" => "‡", /* DOUBLE DAGGER */
	   "\x88" => "ˆ",     /* MODIFIER LETTER CIRCUMFLEX ACCENT */
	   "\x89" => "‰", /* PER MILLE SIGN */
	   "\x8a" => "Š",   /* LATIN CAPITAL LETTER S WITH CARON */
	   "\x8b" => "‹", /* SINGLE LEFT-POINTING ANGLE QUOTATION */
	   "\x8c" => "Œ",   /* LATIN CAPITAL LIGATURE OE */
	   "\x8e" => "Ž",   /* LATIN CAPITAL LETTER Z WITH CARON */
	   "\x91" => "‘", /* LEFT SINGLE QUOTATION MARK */
	   "\x92" => "’", /* RIGHT SINGLE QUOTATION MARK */
	   "\x93" => "“", /* LEFT DOUBLE QUOTATION MARK */
	   "\x94" => "”", /* RIGHT DOUBLE QUOTATION MARK */
	   "\x95" => "•", /* BULLET */
	   "\x96" => "–", /* EN DASH */
	   "\x97" => "—", /* EM DASH */
 
	   "\x98" => "˜",   /* SMALL TILDE */
	   "\x99" => "™", /* TRADE MARK SIGN */
	   "\x9a" => "š",   /* LATIN SMALL LETTER S WITH CARON */
	   "\x9b" => "›", /* SINGLE RIGHT-POINTING ANGLE QUOTATION*/
	   "\x9c" => "œ",   /* LATIN SMALL LIGATURE OE */
	   "\x9e" => "ž",   /* LATIN SMALL LETTER Z WITH CARON */
	   "\x9f" => "Ÿ"    /* LATIN CAPITAL LETTER Y WITH DIAERESIS*/
	);
 
	return strtr($str, $cp1252_map);
}
Je n'arrive pas à faire la même fonction en Java, car je ne sais pas comment écrire les caractères du type "\x80" (séquence d'échappement non valide).

Avez-vous une idée de comment procéder ? Merci.