Récupération de données : ’ se transforme en ?

Récupération de données : ’ se transforme en ? - PHP - Programmation

Marsh Posté le 21-06-2010 à 10:41:45    

Salut,
 
Je dois récupérer des données sur un site et le caractère ’ me pose problème.
 
Voici mon modèle :
 

Code :
  1. <?php
  2. $recup = file_get_contents('site');
  3. preg_match('#<span class="bold">Synopsis : </span>(.*?)</p>#is', $recup, $synopsis);
  4. $sortie['synopsis'] = (empty($synopsis)) ? $absent['synopsis'] : utf8_decode(trim($synopsis[1]));
  5. ?>


 
Auriez-vous une idée de comment laisser le caractère intacte ?
 
Cordialement


---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, en 1810, « Chez Bonaparte »
Reply

Marsh Posté le 21-06-2010 à 10:41:45   

Reply

Marsh Posté le 21-06-2010 à 11:06:11    

En mettant le bon charset quand tu l'affiches (plus précisemment, quand t'affiche la page web qui le contient) :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 21-06-2010 à 12:50:00    

comment on fait ?


---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, en 1810, « Chez Bonaparte »
Reply

Marsh Posté le 21-06-2010 à 14:05:36    

dans les balises meta, tu spécifies le charset. Ex pour de l'utf-8 :
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
 
Si tu ne sais pas ça, je te conseilles vivement de lire des articles à propos des charset :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 21-06-2010 à 14:24:10    

nan mais ça ne fonctionne pas lol j'ai déjà essayé ^^


---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, en 1810, « Chez Bonaparte »
Reply

Marsh Posté le 21-06-2010 à 14:34:21    

le site source, il est en quel charset?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 21-06-2010 à 14:39:49    

on dirait un caractère de word, genre &#8217; non ?
auquel cas le site source pourrait être en windows-1252.


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 21-06-2010 à 14:41:03    

utf-8


---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, en 1810, « Chez Bonaparte »
Reply

Marsh Posté le 21-06-2010 à 14:51:23    

tes fichiers son bien en encode en UTF-8, ton header aussi ?

Reply

Marsh Posté le 21-06-2010 à 14:59:16    

Non je suis en ISO-8859-1
 
Mais même je passe en UTF-8 ça ne fonctionne pas
 
Les accents, ils sont bien pris en compte mais les trucs genre :
 
… ’, ça ne passe pas
 
et quand j'ajoute manuellement dans mon formulaire ça passe
 
donc je ne comprends pas trop


---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, en 1810, « Chez Bonaparte »
Reply

Marsh Posté le 21-06-2010 à 14:59:16   

Reply

Marsh Posté le 21-06-2010 à 15:02:21    

tout dois être en utf-8 (’ ne fais pas partis du ISO-8859-1  en plus comme a dis NewsletTux c'est windows-1252), meme de la ou viens ton ’ que ca sois un fichier ou pas, par exemple ici le forum il est en utf-8, donc si tu colle un ’ dans le textarea il est en utf-8


Message édité par stealth35 le 21-06-2010 à 15:03:26
Reply

Marsh Posté le 21-06-2010 à 15:06:32    

Est-ce qu'il y a une possibilité de transformer le ’ en ' ?

 

J'ai essayé ça :

 

preg_match('#<span class="bold">Synopsis : </span>(.*?)</p>#is', $recup, $synopsis);
$synopsis[1] = str_replace("’", "'", $synopsis[1]);
$sortie['synopsis'] = (empty($synopsis)) ? $absent['synopsis'] : utf8_decode(trim($synopsis[1]));

 

mais ça ne passe pas


Message édité par Orission le 21-06-2010 à 15:08:58

---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, en 1810, « Chez Bonaparte »
Reply

Marsh Posté le 21-06-2010 à 15:10:57    

ca dépend ca vient d'ou ?


Message édité par stealth35 le 21-06-2010 à 15:11:09
Reply

Marsh Posté le 21-06-2010 à 15:12:49    

http://www.allocine.fr/film/fichef [...] 41502.html


---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, en 1810, « Chez Bonaparte »
Reply

Marsh Posté le 21-06-2010 à 15:16:22    

lol les gars faut arrêté de parser allociné, enplus avec des regexp en plus, tu sais qu'il existe un API allociné,  
sinon leur page est en UTF-8 donc a toi de faire tout en utf-8 derriere

Reply

Marsh Posté le 21-06-2010 à 15:35:00    

perso, j'ai déjà fait un script php dans lequel je transformais sans pb ’ en '. Par contre, faut que ton éditeur de texte gère aussi l'utf-8 quand tu enregistres le script php, sinon, le caractère ’ sera transformé en autre chose :/
 
Edit : comme dit précédemment, toute la chaîne doit être dans le même charset, ici de l'utf-8, ça inclut donc les outils de dév ;)


Message édité par rufo le 21-06-2010 à 15:36:03

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 21-06-2010 à 16:27:21    

ah wai c bon lol merci


---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, en 1810, « Chez Bonaparte »
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed