Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème codage caractères

9 réponses
Avatar
Yannick
Bonsoir,

J'ai un souci que je ne comprend pas donc pour le résoudre ce n'est pas
l'idéal.

J'ai une
page php codée en utf8
base de donnée en utf8
table en utf8
champs en utf8

Malgré que tout soit en utf8 j'ai des requêtes qui s'obstine à mettre
les caractères accentués en occidental donc avec des caractères
illisibles ensuite dans une url

Je suis sous Firefox mais l'incident m'a été signalé y compris avec IE

Seule chose que je suspecte
Les données initiales ont été entrées avec un mauvais codage. Pourtant
j'ai vérifié avant de vous appeler à l'aide l'affichage est correct dans
la base de données.

Une piste pour résoudre l'incident?

La page fautive
http://guignen.voyeaud.org/F/35127_1F1.php
Cliquez sur les années en liens
Pour le NOM déroulez jusqu'à GÉRARD
Pour un lieu déroulez jusqu'à Bigotière ou même avant vous voyez l'incident

Je répète que la visualisation de la base est propre!

Amitiés

--
Yannick VOYEAUD
Nul n'a droit au superflu tant que chacun n'a pas son nécessaire
(Camille JOUFFRAY 1841-1924, maire de Vienne)
http://www.voyeaud.org
Créateur CimGenWeb: http://www.francegenweb.org/cimgenweb/
Journées du Logiciel Libre: http://jdll.org
Généalogie en liberté avec Ancestris http://www.ancestris.org

9 réponses

Avatar
Jean Francois Ortolo
Le 01/08/2016 à 20:45, Yannick a écrit :
Bonsoir,
J'ai un souci que je ne comprend pas donc pour le résoudre ce n'est pas
l'idéal.
J'ai une
page php codée en utf8
base de donnée en utf8
table en utf8
champs en utf8
Malgré que tout soit en utf8 j'ai des requêtes qui s'obstine à mettre
les caractères accentués en occidental donc avec des caractères
illisibles ensuite dans une url
Je suis sous Firefox mais l'incident m'a été signalé y compris avec IE
Seule chose que je suspecte
Les données initiales ont été entrées avec un mauvais codage. Pourtant
j'ai vérifié avant de vous appeler à l'aide l'affichage est correct dans
la base de données.
Une piste pour résoudre l'incident?
La page fautive
http://guignen.voyeaud.org/F/35127_1F1.php
Cliquez sur les années en liens
Pour le NOM déroulez jusqu'à GÉRARD
Pour un lieu déroulez jusqu'à Bigotière ou même avant vous voyez l'incident
Je répète que la visualisation de la base est propre!
Amitiés

Bonjour
Configuration du serveur web ?
Respectueusmeent.
Jean François Ortolo
Avatar
Yannick
Le 01/08/2016 à 20:54, Jean François Ortolo a écrit :
Bonjour
Configuration du serveur web ?
Respectueusmeent.
Jean François Ortolo

Bonsoir,
Je ne contrôle pas cette partie
Nérim n'aurait quand même pas changé ce genre de paramètre.
Amitiés
--
Yannick VOYEAUD
Nul n'a droit au superflu tant que chacun n'a pas son nécessaire
(Camille JOUFFRAY 1841-1924, maire de Vienne)
http://www.voyeaud.org
Créateur CimGenWeb: http://www.francegenweb.org/cimgenweb/
Journées du Logiciel Libre: http://jdll.org
Généalogie en liberté avec Ancestris http://www.ancestris.org
Avatar
Jean Francois Ortolo
Le 01/08/2016 à 21:21, Yannick a écrit :
Le 01/08/2016 à 20:54, Jean François Ortolo a écrit :
Bonjour
Configuration du serveur web ?
Respectueusmeent.
Jean François Ortolo

Bonsoir,
Je ne contrôle pas cette partie
Nérim n'aurait quand même pas changé ce genre de paramètre.
Amitiés

Bonjour Monsieur
Regardez l'en-tête http quand vous chargez une page.
Peut-être que votre script PHP envoit un en-tête spécifiant autre
chose que utf-8 comme charset ?
Respectueusement.
Jean François Ortolo
Avatar
Otomatic
Yannick écrivait :
La page fautive
http://guignen.voyeaud.org/F/35127_1F1.php

Il n'y a pas besoin d'aller plus loin que la page d'accueil :
HTTP/1.1 302 Found
Date: Tue, 02 Aug 2016 07:29:45 GMT
Server: Apache/1.3.33 (Debian GNU/Linux) PHP/4.3.10-22 mod_ssl/2.8.22
OpenSSL/0.9.7e
Location: http://www.sivit.fr/bandeaux/bouton1.gif
Keep-Alive: timeout, max™
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1
--
Aujourd'hui, l'idéal du progrès est remplacé par l'idéal de l'innovation :
il ne s'agit pas que ce soit mieux, il s'agit seulement que ce soit nouveau,
même si c'est pire qu'avant et cela de toute évidence. Montherlant
Technologie aéronautique - http://aviatechno.net - Les anciens de Vilgénis
Avatar
Antoine Polatouche
Le 01/08/2016 à 20:45, Yannick a écrit :
Bonsoir,
J'ai un souci que je ne comprend pas donc pour le résoudre ce n'est pas
l'idéal.
J'ai une
page php codée en utf8
base de donnée en utf8
table en utf8
champs en utf8
Malgré que tout soit en utf8 j'ai des requêtes qui s'obstine à mettre
les caractères accentués en occidental donc avec des caractères
illisibles ensuite dans une url
Je suis sous Firefox mais l'incident m'a été signalé y compris avec IE
Seule chose que je suspecte
Les données initiales ont été entrées avec un mauvais codage. Pourtant
j'ai vérifié avant de vous appeler à l'aide l'affichage est correct dans
la base de données.
Une piste pour résoudre l'incident?
La page fautive
http://guignen.voyeaud.org/F/35127_1F1.php
Cliquez sur les années en liens
Pour le NOM déroulez jusqu'à GÉRARD
Pour un lieu déroulez jusqu'à Bigotière ou même avant vous voyez l'incident
Je répète que la visualisation de la base est propre!

Mais comment visualises-tu ta base ?
Si tu la visualises via un browser qui t'affiche la base en iso-8859-1
tu vas la voir propre...
Dans la page que tu mentionnes, il y a des caractères qui s'affichent
mal, mais il y a aussi des accents corrects dans les textes qui ne
sortent pas de la base: "entrées" "prénom" , "hébergé".
Je pense que le problème est du coté des tables : fait un dump et
éxamine-le avec un bon éditeur ou un éditeur binaire...
Bon courage !
Avatar
Antoine Polatouche
Le 01/08/2016 à 21:21, Yannick a écrit :
Le 01/08/2016 à 20:54, Jean François Ortolo a écrit :
Bonjour
Configuration du serveur web ?
Respectueusmeent.
Jean François Ortolo

Bonsoir,
Je ne contrôle pas cette partie
Nérim n'aurait quand même pas changé ce genre de paramètre.

Comme le montre Otomatic ton serveur utilise l'iso-8859-1 par défaut.
Dans ton html tu as
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
qui doit corriger ça
(la syntaxe officielle est utf-8 au lieu de utf8)
Tu peux changer ça dans un fichier .htaccess si tu y a accès, avec :
AddDefaultCharset UTF-8
ou dans ton code php avec
header('Content-Type: text/html;charset=UTF-8');
Mais le charset="utf-8" dans ton html doit faire l'affaire.
Avatar
Otomatic
Antoine Polatouche écrivait :
Comme le montre Otomatic ton serveur utilise l'iso-8859-1 par défaut.
Dans ton html tu as
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
qui doit corriger ça
(la syntaxe officielle est utf-8 au lieu de utf8)

On pourra mettre 107 directives :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
si l'entête de la page servie contient :
Content-Type: text/html; charset=iso-8859-1
c'est iso-8859-1 qui sera prioritaire et c'est bien le cas.
HTTP/1.1 302 Found
Date: Tue, 02 Aug 2016 07:29:45 GMT
Server: Apache/1.3.33 (Debian GNU/Linux) PHP/4.3.10-22 mod_ssl/2.8.22
OpenSSL/0.9.7e
Location: http://www.sivit.fr/bandeaux/bouton1.gif
Keep-Alive: timeout, max™
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1
est le contenu des premières entêtes HTML envoyées par le serveur.
De plus : Apache 1.3 et PHP 4.3 c'est préhistorique.
--
Ce n'est pas parce qu'ils sont nombreux à avoir tort
qu'ils ont forcément raison. Coluche
Avatar
Yannick
Le 01/08/2016 à 20:45, Yannick a écrit :
Bonsoir,
J'ai un souci que je ne comprend pas donc pour le résoudre ce n'est pas
l'idéal.
J'ai une
page php codée en utf8
base de donnée en utf8
table en utf8
champs en utf8
Malgré que tout soit en utf8 j'ai des requêtes qui s'obstine à mettre
les caractères accentués en occidental donc avec des caractères
illisibles ensuite dans une url
Je suis sous Firefox mais l'incident m'a été signalé y compris avec IE
Seule chose que je suspecte
Les données initiales ont été entrées avec un mauvais codage. Pourtant
j'ai vérifié avant de vous appeler à l'aide l'affichage est correct dans
la base de données.
Une piste pour résoudre l'incident?
La page fautive
http://guignen.voyeaud.org/F/35127_1F1.php
Cliquez sur les années en liens
Pour le NOM déroulez jusqu'à GÉRARD
Pour un lieu déroulez jusqu'à Bigotière ou même avant vous voyez l'incident
Je répète que la visualisation de la base est propre!
Amitiés

Bonsoir,
le problème semble être résolu
Sur chaque script qui appelle la base j'ai rajouté après la connection
// on force le résultat des requêtes et UTF-8
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
Cela résoud le problème de base signalé :)
Bon comme je dois reprendre tout le site pour passer en auto-hébergement
je vais bien sûr reprendre toutes les pages et les basculer en utf-8
Merci de vos pistes qui si elles n'ont pas permis de résoudre
directement la question elles ont fini par me mettre sur la solution.
Amitiés
--
Yannick VOYEAUD
Nul n'a droit au superflu tant que chacun n'a pas son nécessaire
(Camille JOUFFRAY 1841-1924, maire de Vienne)
http://www.voyeaud.org
Créateur CimGenWeb: http://www.francegenweb.org/cimgenweb/
Journées du Logiciel Libre: http://jdll.org
Généalogie en liberté avec Ancestris http://www.ancestris.org
Avatar
Antoine Polatouche
Le 02/08/2016 à 17:19, Otomatic a écrit :
Antoine Polatouche écrivait :
Comme le montre Otomatic ton serveur utilise l'iso-8859-1 par défaut.
Dans ton html tu as
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
qui doit corriger ça
(la syntaxe officielle est utf-8 au lieu de utf8)

On pourra mettre 107 directives :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
si l'entête de la page servie contient :
Content-Type: text/html; charset=iso-8859-1
c'est iso-8859-1 qui sera prioritaire et c'est bien le cas.

Je ne crois pas.
Et comme nous a dit Yannick, le problème venait de caractères iso-8859-1
retournés par la requête SQL.
Sa page affiche correctement le texte non issu de la requête qui
contient des é ô ç ...
Et son en-tête est:
Date: Tue, 02 Aug 2016 23:39:38 GMT
Server: Mutu-Nerim
Vary: Accept-Encoding
Content-Encoding: gzip
Cache-Control: no-cache
Transfer-Encoding: chunked
Content-Type: text/html
200 OK
au moment où je l'ai récupérée...