bonjour,
comme je site dans le titre j'ai un problème d'encodage des caractères accentué .
j'ai trouvé plusieurs solutions sur le web mais ça marche pas ou je sais pas comment les utilisé.
au début : Je récupère toutes les données en php de la base myssql et j'utilise la fonction json_encode pour renvoyé les données a l'application . C'est là que ça plante. tous les champs où il y a un caractères avec accents est remplacé par null.
les données sur la base provient soit d'un site web ( que je ne peux pas le modifier ) et il est codé en windows-1252 soi directement inséré avec wampPHP
pour ça j'ai trouvé une solution
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
$liste_amis = $bdd->query('SELECT * FROM lieux');
 
 
 
				$nombre_amis=0;
				while($myliste=$liste_amis->fetch()){
 
 
					foreach($myliste as &$value)
  						{
   						 $value = mb_convert_encoding($value, "UTF-8", "Windows-1252");
  						}
 
					$output[]=array_map('utf8_encode', $myliste );
 
 
 
 
					 }
 
 
print(json_encode($output));
mais ça marche que pour les données inséré avec wampPHP en plus elle s'affiche comme ça "discothA~que"

et les restes des donné sont toujours null

dans mon code java j'utilise le BufferedReader
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 try {
                BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"), 8192);
// j'ai essayé aussi ça : new InputStreamReader(is, "iso-8859-1"), 8
                StringBuilder sb = new StringBuilder();
                String line = null;
                int i = 0;
                while ((line = reader.readLine()) != null) {
                    sb.append(line);
                    i++;
 
                }
aidé moi SVP