PHP 5.6

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : PHP 5.6

Re: PHP 5.6

par Herve_be » 19 mars 2015, 16:59

Je viens d'essayer ceci dans .htaccess
AddDefaultCharset iso-8859-1
J'ai toujours les �

Re: PHP 5.6

par @rthur » 19 mars 2015, 16:47

Le lien que tu donnes explique comment mettre le charset par défaut à UTF-8.
As-tu essayé les différentes solutions présentées dans mon lien au dessus ? (en remplaçant utf-8 par iso-8859-1 bien sur)
;-)

Re: PHP 5.6

par Herve_be » 19 mars 2015, 10:43

Le lien que tu donnes explique comment mettre le charset par défaut à UTF-8.
Dans la version 5.6 de PHP UTF-8 est déjà la valeur par défaut mais les caractères accentués les remplacés par �.
Si je force iso-8859-1 dans un document individuel ça fonctionne.
La seule question est donc "comment forcer iso-8859-1 pour tous les documents".
Ceci me semble plutôt être un problème de syntaxe dans .htaccess.

Re: PHP 5.6

par @rthur » 19 mars 2015, 10:11

Re: [RESOLU] PHP 5.6

par Herve_be » 19 mars 2015, 10:06

Ton lien concerne une recherche sur exif.encode_unicode : c'est résolu, je t'en remercie.
Soit dit en passant Google est un bon outil à condition de savoir quels mots clé chercher (je n'aurait pas pensé à chercher exif encode unicode).

Ce qui n'est pas résolu est que dans tous les modules PHP tous les caractères accentués sont remplacés par des �.
Ajouter header('Content-Type: text/html; charset=iso-8859-1') dans chaque module php résout ce problème mais pas envie de modifier plus de 200 modules.
Je cherche une solution globale, probablement via .htaccess mais les solutions proposées par mon hébergeur ne fonctionnent pas.

Re: [RESOLU] PHP 5.6

par @rthur » 19 mars 2015, 09:58

As-tu essayé les différentes solutions présentées dans mon lien au dessus ? (en remplaçant utf-8 par iso-8859-1 bien sur)

Re: [RESOLU] PHP 5.6

par Herve_be » 19 mars 2015, 09:50

Je te laisse indiquer que le sujet est résolu
Pas tout à fait : le premier point ne l'est pas.
1) UTF-8 est la nouvelle valeur par défaut du charset; conséquence : tous les caractères accentués sont remplacés par des �.
J'ai la solution : ajouter header('Content-Type: text/html; charset=iso-8859-1'); dans chaque module php
la difficulté est que j'ai plus de 200 fichiers à modifier; je cherche une solution globale.
Mon hébergeur m'a demandé d'ajouter AddDefaultCharset ISO-8859-1 dans .htaccess mais ça ne fonctionne pas.
Il m'a ensuite demandé d'ajouter toujours dans .htaccess

Code : Tout sélectionner

<Files ~ "\.php?$"> Header set Content-Type "text/html; charset=ISO-8859-1" </Files>
mais j'obtiens "Internal Server Error" !
Pour info l'hébergeur est One.com

Re: PHP 5.6

par @rthur » 18 mars 2015, 19:57

Toujours est-il que ceci résout le problème : un tout grand merci.

Code : Tout sélectionner

ini_set('exif.decode_unicode_motorola', 'UCS-2LE');
Top ! :D

Je te laisse indiquer que le sujet est résolu en cliquant sur le bouton dédié en haut du sujet ?

Re: PHP 5.6

par Herve_be » 18 mars 2015, 14:47

Je me disais bien que c'était un problème de charset mais lequel ?
Toujours est-il que ceci résout le problème : un tout grand merci.

Code : Tout sélectionner

ini_set('exif.decode_unicode_motorola', 'UCS-2LE');

Re: PHP 5.6

par @rthur » 18 mars 2015, 14:14

Je n'ai jamais eu à traiter des données exif pour ma part, donc pas beaucoup + d'idées...

Il faut à mon sens que tu cherches du côté du charset, Google semble avoir plusieurs pistes.
Par exemple celle-ci : http://stackoverflow.com/questions/2044 ... ncorrectly

Re: PHP 5.6

par Herve_be » 18 mars 2015, 13:28

Bonjour,
Pas d'autre idée pour régler mon problème Exif ?

Re: PHP 5.6

par Herve_be » 14 mars 2015, 19:09

Merci beaucoup pour ta réponse,
1) j'ai insisté auprès de l'hébergeur mais n'ai pas de réponse, raison pour laquelle je pose la question ici;
2) en remplaçant mktime() par time() ça fonctionne à nouveau;
3) avec

Code : Tout sélectionner

ini_set('exif.encode_unicode', 'UTF-8');
au lieu de ???????, j'ai
ã €â€€ç €â€€ã”€ã€€åœ€â€€çŒ€ç”€çˆ€â€€ãˆ€ã€€ã€€ç €ã€ã€€â€€ã´€â€€ã€€â°€ã €æ´€ëˆ€ :)

Re: PHP 5.6

par @rthur » 14 mars 2015, 18:31

Bonjour,
Je rencontre plusieurs problèmes avec la mise à niveau 5.6 de mon serveur.

1) UTF-8 est la nouvelle valeur par défaut du charset; conséquence : tous les caractères accentués sont remplacés par des �.
J'ai la solution : ajouter header('Content-Type: text/html; charset=iso-8859-1'); dans chaque module php
la difficulté est que j'ai plus de 200 fichiers à modifier; je cherche une solution globale.
Mon hébergeur m'a demandé d'ajouter AddDefaultCharset ISO-8859-1 dans .htaccess mais ça ne fonctionne pas.
Ça devrait fonctionner pourtant mais sans connaitre la configuration de ton serveur, difficile de savoir précisément ce qui bloque.
La meilleure solution étant que tu insistes auprès de ton hébergeur pour avoir une solution qui fonctionne.
Sinon il existe différentes directives qui peuvent forcer le charset via un htaccess, voici une page qui les liste : http://www.askapache.com/htaccess/setti ... ccess.html
2) ce fichier http://www.rudyv.be/VTT/Graph.php qui crée un fichier png ne fonctionne plus, je ne sais pas pourquoi, j'ai bien un message d'erreur "L'image ne peut être affichée car elle contient des erreurs" : quelle erreur ? ça fonctionnait avant !
Regarde dans ton script, tu dois avoir une fonction header() qui force le mime-type à image/png.
Met en commentaire cette fonction afin que ton navigateur n'essaye plus d'afficher ce script comme une image et tu verras apparaitre un message d'erreur PHP qui s'affiche avant le contenu binaire de ton image et donc la rend illisible pour ton navigateur.

Voici le message d'erreur :

Code : Tout sélectionner

Strict Standards: mktime(): You should be using the time() function instead in /customers/e/a/4/rudyv.be/httpd.www/VTT/Graph.php on line 10

3) Je souhaite afficher certaines infos exif de fichiers images jpeg

Code : Tout sélectionner

$localURL = 'Temp.jpeg'; copy("DIY/".$elem.".jpg", $localURL); $exif_data = exif_read_data($localURL,0,true); $Date=$exif_data['EXIF']['DateTimeOriginal']; $Comment=$exif_data['WINXP']['Comments'];
$Date est ok
mais $Comment contient ????????????????????????????????????
Probablement un soucis d'encodage de caractère.

Une piste que j'ai trouvé dans la doc PHP (mais pas testé):
ini_set('exif.encode_unicode', 'UTF-8');

PHP 5.6

par Herve_be » 14 mars 2015, 11:34

Bonjour,
Je rencontre plusieurs problèmes avec la mise à niveau 5.6 de mon serveur.

1) UTF-8 est la nouvelle valeur par défaut du charset; conséquence : tous les caractères accentués sont remplacés par des �.
J'ai la solution : ajouter header('Content-Type: text/html; charset=iso-8859-1'); dans chaque module php
la difficulté est que j'ai plus de 200 fichiers à modifier; je cherche une solution globale.
Mon hébergeur m'a demandé d'ajouter AddDefaultCharset ISO-8859-1 dans .htaccess mais ça ne fonctionne pas.

2) ce fichier http://www.rudyv.be/VTT/Graph.php qui crée un fichier png ne fonctionne plus, je ne sais pas pourquoi, j'ai bien un message d'erreur "L'image ne peut être affichée car elle contient des erreurs" : quelle erreur ? ça fonctionnait avant !
Le module est appelé comme ceci

Code : Tout sélectionner

<img src="Graph.php?VTT[]=1299&Route[]=1579&VTT[]=834&Route[]=1004&VTT[]=1173&Route[]=916&VTT[]=1505&Route[]=815&VTT[]=1227&Route[]=3357&VTT[]=1329&Route[]=2848&VTT[]=897&Route[]=1103&VTT[]=1523&Route[]=1658&VTT[]=1700&Route[]=2165&VTT[]=1818&Route[]=1157&VTT[]=775&Route[]=279" alt="Graphique">
3) Je souhaite afficher certaines infos exif de fichiers images jpeg

Code : Tout sélectionner

$localURL = 'Temp.jpeg'; copy("DIY/".$elem.".jpg", $localURL); $exif_data = exif_read_data($localURL,0,true); $Date=$exif_data['EXIF']['DateTimeOriginal']; $Comment=$exif_data['WINXP']['Comments'];
$Date est ok
mais $Comment contient ????????????????????????????????????

Et probablement encore d'autres problème alors que tout fonctionnait parfaitement avec l'ancienne version.
Merci d'avance pour votre aide