Régler l'encodage
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte00:00:00 :Dans cette partie on va s'intéresser à l'encodage donc on va régler les problèmes qu'on a aveccertains caractères spéciaux ici dans le JSON qu'on récupère depuis l'API. Alors il y a différentes
00:00:09 :façons de faire, on pourrait modifier les en-têtes, le problème c'est que les en-têtes on peut direce qu'on va préférer accepter mais ça ne va pas forcément être pris en compte par le point d'APIqui va nous retourner des données telles qu'il l'entend. Donc on peut lui dire on préfère avoir
00:00:22 :par exemple du UTF-8 mais si comme c'est le cas ici puisque j'ai fait des tests avant le pointd'API n'en prend pas compte et bien on va quand même avoir ces problèmes d'encodage. Donc ce qu'on
00:00:32 :peut faire à la place c'est forcer l'encodage de la réponse donc là je fais un point get à cetendroit là donc c'est bien dans le getMovieSchedules puisque c'est quand on récupère les horaires quel'on a ce problème. Pour les films on n'avait pas ce problème mais si jamais on le voit donc des
00:00:47 :caractères spéciaux par exemple qui ne seraient pas pris en compte on pourrait le faire égalementpour la première fonction avec donc le request ici qui est à un autre endroit qui doit être par làdans le main voilà ici le proxy et ensuite on fait un session.get donc on pourrait le faire ici
00:01:02 :aussi là pour l'instant je vais le faire uniquement dans le schedule. Donc ce qu'on peut faire c'estforcer l'encodage en faisant response.encoding et là on peut spécifier donc là dans notre cas ci
00:01:11 :ça va être latin1 puisque c'est cet encodage qui va permettre de décoder les caractères spéciauxqu'on a ici donc c'est par exemple le A un petit peu spécial qu'on a donc le A ici avec le petitaccent au dessus donc c'est ces caractères qu'on va pouvoir récupérer de la bonne façon. Donc je
00:01:27 :vais relancer le script pour vous montrer et pour ne pas faire trop de requêtes pour rien puisqu'onn'a pas encore mis le mécanisme qui va nous permettre de ralentir un petit peu les requêtesje vais mettre un point de debug ici donc après la récupération des datas puisque dès le premier
00:01:40 :film on avait ce problème donc on va pouvoir voir avec un seul film si le problème est résolu doncje mets mon point de debug ici et je vais relancer le script ici avec le mode debug et on va voir cequ'on a dans les données. Donc là ici à gauche on retrouve bien nos données avec le data le days
00:01:55 :et là vous voyez qu'on a bien le amania qui est correctement écrit ici donc on n'a plus lecaractère spécial donc ça doit être bon donc je vais continuer et je vais enlever mon point dedebug on va continuer le script on va le laisser traiter un petit peu tout ça on va quand même
00:02:09 :laisser tourner jusqu'au bout pour voir si sur tous les caractères on a une bonne récupération et unbon encodage donc je le laisse aller jusqu'au bout et on va regarder après dans le json si tout estcorrectement décodé donc c'est fini je retourne voir dans mon json et si on regarde ici voilà là
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.