Discussion:
Problème codage caractères
(trop ancien pour répondre)
Yannick
2016-08-01 18:45:25 UTC
Permalink
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
Jean Francois Ortolo
2016-08-01 18:54:47 UTC
Permalink
Post by 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
Bonjour

Configuration du serveur web ?

Respectueusmeent.

Jean François Ortolo
Yannick
2016-08-01 19:21:30 UTC
Permalink
Post by Jean Francois Ortolo
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
Jean Francois Ortolo
2016-08-02 06:40:20 UTC
Permalink
Post by Yannick
Post by Jean Francois Ortolo
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
Antoine Polatouche
2016-08-02 10:13:45 UTC
Permalink
Post by Yannick
Post by Jean Francois Ortolo
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.
Otomatic
2016-08-02 15:19:50 UTC
Permalink
Post by Antoine Polatouche
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=15, max=99
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
Antoine Polatouche
2016-08-02 23:46:50 UTC
Permalink
Post by Otomatic
Post by Antoine Polatouche
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)
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
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...

Otomatic
2016-08-02 07:32:13 UTC
Permalink
Post by Yannick
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: Loading Image...
Keep-Alive: timeout=15, max=99
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
Antoine Polatouche
2016-08-02 09:55:55 UTC
Permalink
Post by 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!
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 !
Yannick
2016-08-02 16:09:51 UTC
Permalink
Post by 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
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
Continuer la lecture sur narkive:
Loading...