Problème accents suite à mise à jour de PHP

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 : Problème accents suite à mise à jour de PHP

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

par L3oMI » 25 mai 2016, 14:10

Hello,
Tiens au piff , j'espère que tu trouveras ton bonheur. Au choix ( ps: essaie le deuxième "mb_internal_encoding('UTF-8');" ;) )
-------------------------------

all together

<?php
// ------------------------------------------------------------

header('Content-Type: text/html; charset=UTF-8');

mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');
mb_http_input('UTF-8');
mb_regex_encoding('UTF-8');

// ------------------------------------------------------------
?>

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

par mrcarles » 18 mai 2016, 11:14

Pardonnez mon ignorance, mais ce qui fait exactement la ligne

ini_set ('default_charset', 'utf-8');

MERCI

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

par lacfab » 12 mars 2016, 16:34

En utilisant utf8_encode ($variable) cela fonctionne pour l'affichage MAIS ... si j'enregistre le formulaire j'obtiens :
mise à jour des actualités
Côté BDD cela s'affiche de la même façon.


Du coup avant de passer en update je pratique un utf8_decode() et là je n'ai plus de soucis.

Cela influe-t-il que le chargement des pages ?
Est normal de devoir bricoler certaines pages alors que d'autres fonctionnent ?

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

par lacfab » 12 mars 2016, 16:31

Le texte qui est tapé directement sur ma page PHP s'affiche :
Ceci est une page test pour l'affichage des accents é à è & ë ê
Le texte issu de la BDD s'affiche :
mise � jour des actualit�s
En entête de ma page j'ai

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
et sur ma page config.php

Code : Tout sélectionner

ini_set('default_charset', 'utf-8');
Je reprécise que ma BDD est entièrement en utf-8

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

par lacfab » 12 mars 2016, 04:35

OK je tente ça ;)

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

par @rthur » 12 mars 2016, 03:06

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

par lacfab » 12 mars 2016, 00:16

HELP !

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

par lacfab » 11 mars 2016, 00:55

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

par lacfab » 09 mars 2016, 23:06

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

par lacfab » 09 mars 2016, 23:02

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

par lacfab » 09 mars 2016, 22:34

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

par @rthur » 09 mars 2016, 22:31

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

par lacfab » 09 mars 2016, 21:27

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

par or 1 » 09 mars 2016, 20:41

quel est l'encodage du fichier php, visible dans ton éditeur de texte ?

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

par lacfab » 09 mars 2016, 20:39

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