[RESOLU] problème d'accents en passant de la version 5.5 à la version 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 : [RESOLU] problème d'accents en passant de la version 5.5 à la version 5.6

Re: [RESOLU] problème d'accents en passant de la version 5.5 à la version 5.6

par moogli » 08 déc. 2016, 10:21

de rien.
Malheureusement, non il semble de l'entête http prime sur l'info du document ...
c'est con, mais il faut bien avoué que si l'info est dupliquée il faut bien faire une choix, et la détection utf-8 / iso n'est pas toujours super fiable (en fait ça se goure souvent ;) ).
et ce n'est pas ma citation c'est la chanson de baloo :)

@+

Re: problème d'accents en passant de la version 5.5 à la version 5.6

par flor25 » 06 déc. 2016, 18:25

Salut Mogli,
Comme ta devise "Il en faut peu pour être heureux ......",
il suffit apparemment d'un php.ini avec default_charset = "iso-8859-1"
les navigateurs affichent bien : " Content-Type:text/html; charset=iso-8859-1",
et exit les caractères spéciaux.

un grand merci à tous =D>
@+

edit : je pensais que la déf. du charset dans l'en-tête html suffirait

Re: problème d'accents en passant de la version 5.5 à la version 5.6

par moogli » 06 déc. 2016, 15:28

salut,

le plus simple c'est demander as ton hébergeur un solution de son cru pour qu'il ne force pas le charset en UTF-8.
Il s'agit de l'option de configuration default_charset qui vaut utf-8 par défaut.
Normalement la fonction header doit faire le boulot, pour peu qu'elle soit sur toutes les pages accédées depuis le web.
[quote="doc php"]Toutes les versions de PHP vont utiliser cette valeur comme jeu de caractères par défaut dans l'en-tête par défaut Content-Type envoyé par PHP si l'en-tête n'est pas écrasé via un appel à la fonction header().[/php]

a pire tu peu modifier globalement ce comportement dans un fichier ini local, le htaccess ou en utilisant la fonction ini_set. plus d'info => http://php.net/manual/fr/configuration.changes.php

@+

Re: problème d'accents en passant de la version 5.5 à la version 5.6

par flor25 » 06 déc. 2016, 12:04

Bonjour,
voilà des captures d'écran avec les 2 versions php 5.5 et 5.6, et Chrome ou Firefox :

en version 5.5, pour Chrome, le content-type retourné est "text/html" :
Image

en version 5.5, pour Firefox, le content-type retourné est "text/html" :
Image

en version 5.6
pour Chrome, le content-type retourné est "text/html; charset = UTF-8" :
curieux, puisque j'ai défini 8859-1 sur toutes les pages :
<head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> ... </head>
Image
pour Firefox, le content-type retourné est aussi "text/html; charset = UTF-8" :
Image

Je passe donc toutes mes pages en UTF-8, mais rien ne change, j'ai toujours ce problème d'accents :
Chrome en 5.6 avec UTF-8 :
Image
Firefox en 5.6 avec UTF-8 :
Image


ps la page affichée contient toujours :
<?php
header('Content-Type: text/html; charset=ISO-8859-1'); ...

cordialement,

Re: problème d'accents en passant de la version 5.5 à la version 5.6

par flor25 » 05 déc. 2016, 11:53

Bonjour, et merci pour l'attention,
avec un peu de retard, ( WE oblige et le site est beaucoup visité le WE ),
voici les essais que j'ai faits :
1- avec Firefox, je suis arrivé à afficher le "content-type" et malgré que toutes mes pages soient en iso-8859-1,
il m'affiche en "debug" UTF-8.
J'ai donc tout modifié les pages en les mettant en UTF-8, et là firefox m'affiche seulement Content-Type :"text/html" ???

2- avec Chrome, je suis arrivé à l'afficher également ( il me fallait aller ensuite sur l'onglet "header" ), et c'est pareil :
Content-Type :"text/html"
3- j'ai ajouté " header('Content-Type: text/html; charset=UTF-8'); à plusieurs pages pour voir
résultat identique : Content-Type:text/html

Je n'ai plus de message d'erreur en console.

ce qui m'étonne, c'est qu'ils ne me donnent pas le bon charset.
Est-ce que en mettant un php.ini avec un charset, à la racine du site çà pourrait le faire ?

Je vais chercher pour te mettre une capture d'écran.
cordialement

Re: problème d'accents en passant de la version 5.5 à la version 5.6

par @rthur » 03 déc. 2016, 11:58

Comme mes pages commencent toutes par un, voir plusieurs scripts php, l'encodage ne serait pas trouvé.
Le message d'erreur indique l'encodage html donc dans ton code HTML, si tu fais clic droit > afficher la source il faut que tu vérifies que l'encodage en HTML soit bien défini.

C'est curieux que ton serveur ne renvoie pas de Content-type.
Voila comment le définir avec son encodage en PHP à mettre au tout début de ton script.
header('Content-Type: text/html; charset=utf-8');

Re: problème d'accents en passant de la version 5.5 à la version 5.6

par flor25 » 03 déc. 2016, 11:19

Bonjour @rthur,

ça doit être la piste :
- Chrome : dans l'onglet réseau, je ne vois pas de ligne "content-type" ...?
- Firefox : voici l'info donnée à la console à l'ouverture de la page déclarée en index :
"La déclaration d'encodage de caractères du document HTML du cadre n'a pas été trouvée lors de l'analyse des 1024 premiers octets du fichier. S'il est affiché dans un navigateur configuré différemment, cette page sera automatiquement rechargée. La déclaration d'encodage de caractères doit être déplacée dans les 1024 premiers octets du fichier."

Comme mes pages commencent toutes par un, voir plusieurs scripts php, l'encodage ne serait pas trouvé.
Il faut donc que je modifie, et faire des tests en migrant en 5.6
( je suis resté en v.5.5, sachant que pendant que je teste le site est illisible ),
puis je poste le résultat dès que possible.

merci en tout cas

Re: problème d'accents en passant de la version 5.5 à la version 5.6

par @rthur » 02 déc. 2016, 20:53

Bonjour,

Sur Firefox ou Chrome, fais Ctrl+Maj+i, onglet réseau et recharge ta page problématique.
Clic sur ta page et regarde l'entête de réponse du serveur à la ligne Content-type pour vérifier quel encodage est indiqué par ton serveur

Re: problème d'accents en passant de la version 5.5 à la version 5.6

par flor25 » 02 déc. 2016, 19:21

Bonsoir Naroth,
Non cette manip ne fonctionne pas.
Je la connais pour l'utiliser lors d'imports dans des bases Mysql,
et je ne vois pas ce que çà pourrait apporter, vu que le texte incriminé est inclus
dans une page html/php, et que celle-ci est transférée sur un serveur unix
chez l'hébergeur.
Néanmoins, je l'ai essayée, et je te confirme que non.
merci quand même.
cordialement,

Re: problème d'accents en passant de la version 5.5 à la version 5.6

par Naroth » 02 déc. 2016, 13:21

Bonjour,

Tu peux essayer cela
Ouvre ton fichier dans notepad++
Dans le menu encodage -> Convertir en UTF-8 (sans BOM)

problème d'accents en passant de la version 5.5 à la version 5.6

par flor25 » 02 déc. 2016, 12:05

Bonjour à tous,
L'hébergeur de mes sites me signale la fin du support gratuit de la version 5.5, et me conseille de passer à la 5.6,
ce que j'ai tenté, mais vite revenu en arrière, car de nombreux problèmes d'accents. ( remplacés par des caractères spéciaux ).
exemple :
Association de la loi 1901, elle a �t� cr��e en 1968.
Elle b�n�ficie de l'agr��ment Jeunesse et Sports, est affili�e ANCV,

Et c'est idem si je passe à la version 7.0.

Je suis passé dernièrement de la 5.3 à la 5.5 sans problèmes.
J'ai lu les préconisations de migration, http://www.php.net/manual/fr/migration56.php
sans voir ce qui pourrait poser problème sur les accents.
Je n'ai pas de php.ini chez l'hébergeur.

Toutes mes pages sont avec l'entête :
<meta content="text/html; charset=ISO-8859-1"/>
J'ai essayé vainement ISO-8859-15, et UTF-8, et je ne vois pas comment le résoudre.
A domicile, J'utilise wampserver avec php 5.3, et je n'ai pas de php.ini, celui qui est dans la dir. de wamp ne donne pas de paramètre sur le charset ( il est désactivé ).

N'étant pas très calé, quelqu'un aurait-il des tuyaux pour y remédier ?
et je le remercie d'avance.
bien cordialement