Page 1 sur 2

Problème accents suite à mise à jour de PHP

Posté : 08 mars 2016, 23:26
par lacfab
Bonjour,

Je viens ici car je désespère de trouver une solution à mon problème.

J'ai passé mon site de PHP4.4 à PHP5.6 ... il était temps !

Hors mis quelques fonctions qui n'étaient plus prises en compte, j'ai un GROS soucis que je n'arrive à résoudre.

Sur la partie "publique" du site, aucun problème, les visiteurs peuvent lire normalement les textes. Par contre côté admin ... j'ai tous mes accents remplacés par des ?. Ce sont les mêmes texte qu'en partie publique bien entendu.

Pour info :
serveur en default_charset : UTF-8
champs de la BDD en utf8_general_ci
navigateur en unicode par défaut
pages avec header ('Content-type:text/html; charset=utf-8');
Si j'enregistre "été" dans un formulaire et que je valide, dans la BDD j'obtiens "été".

Pourquoiiiiiiiiiiiii #-o #-o #-o
HELP 8-|

A préciser qu'avant la mise à jour tout fonctionnait nickel !

Re: Problème accents suite à mise à jour de PHP

Posté : 09 mars 2016, 10:30
par @rthur
Dans le code HTML de ta page, tu n'aurais pas une balise <meta> qui indique un charset différent ?

Re: Problème accents suite à mise à jour de PHP

Posté : 09 mars 2016, 14:41
par lacfab
Non

Re: Problème accents suite à mise à jour de PHP

Posté : 09 mars 2016, 17:33
par @rthur
Bah c'est que forcément tu as une incohérence quelque part.
Ça peut être sur ta page d'affichage ou sur ta page où est le formulaire d'insertion où tu as l'un des 3 éléments qui n'est pas en UTF8 : header HTTP, meta HTML, connexion BDD

Re: Problème accents suite à mise à jour de PHP

Posté : 09 mars 2016, 20:39
par lacfab
Toutes les pages à problème commencent, comme les autres, par

Code : Tout sélectionner

<?php session_start(); header ('Content-type:text/html; charset=utf-8');
et la base de donnée est bien en utf8 #-o

Re: Problème accents suite à mise à jour de PHP

Posté : 09 mars 2016, 20:41
par or 1
quel est l'encodage du fichier php, visible dans ton éditeur de texte ?

Re: Problème accents suite à mise à jour de PHP

Posté : 09 mars 2016, 21:27
par lacfab
Codage par défaut : Unicode (UTF-8)
Cela pourrait influencer sur comment afficher un résultat de BDD ?
Car je rappelle que certaines pages du site fonctionnent et d'autres pas #-o en piochant sur les mêmes tables !

Re: Problème accents suite à mise à jour de PHP

Posté : 09 mars 2016, 22:31
par @rthur
Repars d'une page blanche et fait des tests pour voir quand ça marche et quand ça ne marche pas

Re: Problème accents suite à mise à jour de PHP

Posté : 09 mars 2016, 22:34
par lacfab
J'ai même tenté de refaire un copier coller sur un nouveau document mais ça ne change rien.

J'ai testé un

Code : Tout sélectionner

<?php echo $_SERVER['HTTP_ACCEPT_CHARSET']; ?>
sur le serveur et il ne ressort aucun résultat !
Tu crois qu'un .htaccess changerait les choses ?

Re: Problème accents suite à mise à jour de PHP

Posté : 09 mars 2016, 23:02
par lacfab
Je viens de placer ceci

Code : Tout sélectionner

if (!mysqli_set_charset($link, "utf8")) { printf("Erreur lors du chargement du jeu de caractères utf8 : %s\n", mysqli_error($link)); } else { printf("Jeu de caractères courant : %s\n", mysqli_character_set_name($link)); }
et cela m'affiche :
Erreur lors du chargement du jeu de caractères utf8 :

Re: Problème accents suite à mise à jour de PHP

Posté : 09 mars 2016, 23:06
par lacfab
et avec ceci :

Code : Tout sélectionner

$charset = mysqli_character_set_name($link); printf ("Jeu de caractères courant : %s\n",$charset);
J'obtiens :
Jeu de caractères courant :



Du coup j'ai rajouté dans mon fichier de config ceci :

Code : Tout sélectionner

ini_set('default_charset', 'utf-8');
et en rechargeant ma page ... horreur ! ceci :
Jeu de caractères courant : latin1
Mais ... comm... pourquoi ?????? !!!!!!

Re: Problème accents suite à mise à jour de PHP

Posté : 11 mars 2016, 00:55
par lacfab
Sinon pour info dans mysql j'ai tapé

Code : Tout sélectionner

SHOW VARIABLES LIKE 'character%'
et j'obtiens :
character_set_client : utf8
character_set_connection : utf8
character_set_database : utf8
character_set_filesystem : binary
character_set_results : utf8
character_set_server : utf8
character_set_system : utf8
character_sets_dir : /usr/share/mysql/charsets/

Re: Problème accents suite à mise à jour de PHP

Posté : 12 mars 2016, 00:16
par lacfab
HELP !

Re: Problème accents suite à mise à jour de PHP

Posté : 12 mars 2016, 03:06
par @rthur
Tu pars dans tous les sens à essayer de patcher à droite à gauche sans vraiment savoir ce que tu fais.

Mon conseil est toujours le même : repars d'un script vide (page blanche), ajoute une connexion mysql basique sans rien déclarer d'autre, et ensuite modifie les paramètres un par un pour trouver les conditions qui vont faire que ça va fonctionner.

Re: Problème accents suite à mise à jour de PHP

Posté : 12 mars 2016, 04:35
par lacfab
OK je tente ça ;)