Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1265 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Transformation de caractères lors d'un fopen sur url distante

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Transformation de caractères lors d'un fopen sur url distante

n°1196992
@ttil@
Q, retire ce bonnet !
Posté le 11-09-2005 à 13:13:57  profilanswer
 

:hello:  
 
Je tente de récupérer une page de wikipédia automatiquement par un script php. La page que je recois est en utf-8 que je retransforme en iso-8859-1 via la fonction utf8_decode.
 
Tout se passe bien sauf pour quelques caractères style les lettres greques. Alors que sur la page de wikipédia elles s'affichent bien, chez moi un caractère 'alpha' est transformé en 'α' dans la chaine téléchargée, qui se traduit après le passage par utf8_decode en un '?'.
 
Là je dois dire que je nage complètement... Si quelqu'un à une idée pour que tous les caractères s'affichent bien :)


---------------
Techno-science.net: Actualité des sciences et techniques
mood
Publicité
Posté le 11-09-2005 à 13:13:57  profilanswer
 

n°1197140
AlphaZone
Posté le 11-09-2005 à 16:49:48  profilanswer
 

Et si tu l'as laisse en utf-8, il se passe quoi ?

n°1197147
@ttil@
Q, retire ce bonnet !
Posté le 11-09-2005 à 17:10:16  profilanswer
 

Initialement en utf-8 le caractère alpha est afiché 'α', même si je mets le code de la page en utf-8 au lieu de iso-8859-1


Message édité par @ttil@ le 11-09-2005 à 17:11:30

---------------
Techno-science.net: Actualité des sciences et techniques
n°1197160
omega2
Posté le 11-09-2005 à 17:38:16  profilanswer
 

Et un url-decode au lieux du utf_decode, ca done quoi?

n°1197168
@ttil@
Q, retire ce bonnet !
Posté le 11-09-2005 à 17:52:59  profilanswer
 

Ca semble rien faire sur la chaine.
 
Pour info voici le texte sur la page wikipédia (source de la page, page codé  en utf-8):

Citation :

Dans le sens commun, le terme « radiation » est associé à la radioactivité, cela concerne donc les rayonnements ionisants (rayons X, 'alpha', 'beta', 'gamma').


(j'ai transformé les lettres grecques 'alpha', 'beta', 'gamma' par ces termes sinon ca passe pas sur hfr, mais le texte original est visible sur la page wikipédia ici: http://fr.wikipedia.org/wiki/Radiation )
 
Le texte que je retrouve juste après téléchargement par fread ou file:

Citation :

Dans le sens commun, le terme « radiation » est associé à  la radioactivité, cela concerne donc les rayonnements ionisants (rayons X, α, β, γ).


 
Et après passage avec utf8_decode:

Citation :

Dans le sens commun, le terme « radiation » est associé à la radioactivité, cela concerne donc les rayonnements ionisants (rayons X, ?, ?, ?).


Message édité par @ttil@ le 11-09-2005 à 17:57:07

---------------
Techno-science.net: Actualité des sciences et techniques
n°1197176
omega2
Posté le 11-09-2005 à 18:13:51  profilanswer
 

les ? c'est quand les caractéres n'ont pas pu être traduit par la fonction utf8_decode, il faudrait essayer avec les mb_convert_encoding et mb_detect_encoding si elles sont disponibles.
Elles sont plus puissante que l'utf8_decode mais ne sont pas installé par défaut.

n°1197182
@ttil@
Q, retire ce bonnet !
Posté le 11-09-2005 à 18:25:38  profilanswer
 

Je viens de tester avec ces deux fonctions.
 
mb_detect_encoding me dit bien que la chaine d'origine est en UTF-8 mais l'utilisation de mb_convert_encoding pour une conversion de UTF-8 vers ISO-8859-1 me donne le même résultat que utf8_decode, les '?' sont toujours là.
 


---------------
Techno-science.net: Actualité des sciences et techniques
n°1197189
omega2
Posté le 11-09-2005 à 18:31:35  profilanswer
 

Je veisn de penser à un truc super con : t'es sur que les caractéres grec font partie de l' ISO-8859-1 ?
Il va peut être falloir que tu fasses l'inverse : tout mettre en UTF-8.

n°1197191
@ttil@
Q, retire ce bonnet !
Posté le 11-09-2005 à 18:32:43  profilanswer
 

Est-il possible que fread transforme l'encoding du teste pendant qu'il le récupère à distance ? Car c'est le texte juste après fread qui est transformé comme ca.


---------------
Techno-science.net: Actualité des sciences et techniques
n°1197193
@ttil@
Q, retire ce bonnet !
Posté le 11-09-2005 à 18:33:29  profilanswer
 

omega2 a écrit :

Je veisn de penser à un truc super con : t'es sur que les caractéres grec font partie de l' ISO-8859-1 ?
Il va peut être falloir que tu fasses l'inverse : tout mettre en UTF-8.


 
J'espere pas :sweat:


---------------
Techno-science.net: Actualité des sciences et techniques
mood
Publicité
Posté le 11-09-2005 à 18:33:29  profilanswer
 

n°1197196
omega2
Posté le 11-09-2005 à 18:38:02  profilanswer
 

Je te comprends, je suis entrein de le faire chez moi. Heureusement que je refaisais le site à zéro par ce que ca fait beaucoup de lignes de codes à modifier si on doit le faire pour un site qui existe déjà.

n°1197201
@ttil@
Q, retire ce bonnet !
Posté le 11-09-2005 à 18:48:51  profilanswer
 

Ya peut etre un autre moyen. Je viens de voir qu'on peut afficher le caractere alpha avec le code html α
il doit peut etre exister des fonctions de translation vers ce code html.


---------------
Techno-science.net: Actualité des sciences et techniques
n°1197204
omega2
Posté le 11-09-2005 à 19:00:50  profilanswer
 

htmlentities mais je sais pas elle marche depuis de l'UTF8.
Sinon, il faudra que tu te fasses ta fonction qui faitr pareil en UTF8 si ca existe aps déjà.

n°1197209
@ttil@
Q, retire ce bonnet !
Posté le 11-09-2005 à 19:11:50  profilanswer
 

La table de conversion de htmlentities n'est pas aussi complete, je vais voir si il n'en existe pas une autre sur le net compatible utf-8 sinon je la ferais effectivement moi-même.


---------------
Techno-science.net: Actualité des sciences et techniques

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Transformation de caractères lors d'un fopen sur url distante

 

Sujets relatifs
Pb import d'une page externe (fopen sur Ebay)caractères très spéciaux à saisir dans textarea
[BESOIN D'AIDE] phpmyadmin, données et jeux de caractères...Encodage de caractères avec PHP
[Resolu] Echappement des caracteres speciauxProblème de caractères accentués via PHP
[Shell] Traitement de fichier - chaine de caractèresjava : forcer un JSCROLLPANE + pb aff pge distante JEDITORPAN
Transformation de string en java.sql.dateCas particulier des noms de repertoire - chaines caracteres
Plus de sujets relatifs à : Transformation de caractères lors d'un fopen sur url distante


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR