Soucis de caractères français sur le site

Ici c'est moi qui vous informe de la vie du site et du forum.

Modérateurs : Carl, Papy.G, fneck

Répondre
Avatar du membre
fneck
Site Admin
Messages : 12270
Enregistré le : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Soucis de caractères français sur le site

Message par fneck » 26 nov. 2018 21:11

Hello, j'ai besoin de l'aide de spécialistes PHP MySQL pour le site. Je viens de constater que les accents de mon site web, et d'une manière générale tous les caractères spéciaux français, sont altérés et remplacés par des losanges avec des points d'interrogation. J'ai bien compris qu'il s'agissait d'un soucis d'encodage de caractères mais je n'arrive pas à le résoudre. Je ne sais pas si c'est ainsi depuis le changement d'hébergeur ?

Ci-dessous une copie d'écran pour bien visualiser le problème :
Image
issue de cette page https://www.system-cfg.com/detailcollec ... ?ident=223

En regardant de plus près, on constate que les accents issus du code html ou php sont corrects (Accès forum, Accès base de données, etc...).
Ce qui pose problème c'est le contenu qui est issu de la base de donnée MySQL.

Dans la partie "head" de mon code on retrouve systématiquement :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Dans la structure de la base de données on voit un "interclassement" en "utf8_bin".
Initialement ce dernier était en "latin1_swedish_ci", je l'ai changé hier pour être comme sur le forum où il n'y a pas le problème mais ça n'a rien résolu.

Je sèche, des idées ?

Merci.

Avatar du membre
Papy.G
Modérateur
Messages : 1782
Enregistré le : 10 juin 2014 13:40
Localisation : Haute-Garonne/Gers

Re: Soucis de caractères français sur le site

Message par Papy.G » 26 nov. 2018 22:28

J'y connais rien en dev web, mais l'inspecteur de Mozilla me met en évidence un problème de guillemets insuffisants, dans le head, troisième ligne:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Manque le guillement après HTML, et celui avant utf-8.

Encore un problème de ponctuation… :mrgreen:

Edit: Ligne suivante, même problème. :roll:
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.

Avatar du membre
fneck
Site Admin
Messages : 12270
Enregistré le : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: Soucis de caractères français sur le site

Message par fneck » 27 nov. 2018 07:47

Je regarderai ce soir...

__sam__
Messages : 4214
Enregistré le : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Soucis de caractères français sur le site

Message par __sam__ » 27 nov. 2018 08:24

Papy.G a écrit :
26 nov. 2018 22:28
J'y connais rien en dev web, mais l'inspecteur de Mozilla me met en évidence un problème de guillemets insuffisants, dans le head, troisième ligne:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Manque le guillement après HTML, et celui avant utf-8.
Non je pense que la syntaxe est correcte, cf: https://www.w3.org/International/questi ... clarations qui présente la même chose.
Samuel.
A500 Vampire V2+, A1200(030@50mhz/fpu/64mb/cf 8go),
GVP530 (MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8. New Teo 1.8.4 8)

hlide
Messages : 543
Enregistré le : 29 nov. 2017 10:23

Re: Soucis de caractères français sur le site

Message par hlide » 27 nov. 2018 15:05

Si les caractères losange-question ne sont pas à la base du UTF-8, ça ne fonctionnera pas non plus.

Si tu utilises notepad++ par exemple, tu peux visualiser en changeant l'encoding et vérifier lequel te permet de voir les accents correctement. Un fois fait ça, tu peux ensuite demander à convertir en UTF-8 pour que ces accents soient en UTF-8.
Modifié en dernier par hlide le 27 nov. 2018 15:43, modifié 1 fois.

hlide
Messages : 543
Enregistré le : 29 nov. 2017 10:23

Re: Soucis de caractères français sur le site

Message par hlide » 27 nov. 2018 15:12

Je viens de tester sur Notepad++ :

Code : Tout sélectionner

<td class="tab_right">RAM 256 Ko <br>extensible � 512 Ko sur carte m�re<br>ROM ??? Ko </td>
Il me confirme que ce n'est pas de l'UTF-8. Il y a un mélange entre ceux en UTF-8 et non UTF-8. Ça ne va pas être simple à convertir du coup.

hlide
Messages : 543
Enregistré le : 29 nov. 2017 10:23

Re: Soucis de caractères français sur le site

Message par hlide » 27 nov. 2018 15:42

C'est une page "auto-générée" (auto-construite pour les puristes de la langue) ? comme tu l'as dit, ce problème ne vient qu'avec l'extraction de ta base de données. J'ai peur que l'extraction fasse la conversion et génère un mauvais code UTF-8 parce que le caractère à la source n'est pas lu avec le bon codec d'origine. J'ai essayé avec l'encoding de NotePad pour trouver ce que c'est mais sans résultat.
Vous devez utiliser le bon code caractère « é » ou « e accent aigu » sinon, vous risquez d'avoir des caractères mal affichés en Css, Html ou Javascript comme peut le monter le caractère encodé en ISO-8859-1.
En ISO-8859-1, ça donne précisément ce symbole. J'ai l'impression qu'il y a eu conversion du ISO-8859-1 vers UTF-8 lors de l'extraction alors que ce n'était pas du ISO-8858-1 (code \uE9 transformé en \uFFFD).

Avatar du membre
fneck
Site Admin
Messages : 12270
Enregistré le : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: Soucis de caractères français sur le site

Message par fneck » 27 nov. 2018 19:15

Merci pour vos différentes réponses 8)

Le problème était dans la requête php vers la base de données. A partir de je ne sais plus quelle version de php, la fonction "mysql" qui permet de passer les commandes à la base de données a été remplacé par "mysqli". Or celle-ci nécessite maintenant de préciser l'encodage lors de la connexion à la base par l'ajout d'une commande : mysqli_set_charset( $nom_de_la_connection, UTF8 );

Information trouvée ici : https://openclassrooms.com/forum/sujet/ ... yadmin-php

Maintenant c'est bon, mais je ne comprends pas comment je n'ai pas vu cela plus tôt, puisque l'introduction dans mon code de "mysqli" date effectivement de la migration du site vers le nouvel hébergeur... :cry: :cry: :cry:

[edit] j'ai encore trouvé d'autres trucs qui ne fonctionnent pas bien sur la requête de recherche dans la base mais c'est purement du mauvais code php qu'il va falloir débugger !
Je suis absolument certain d'avoir testé ces fonctions après le transfert du site, puisque j'ai dû les reprogrammer en partie. Là je pense de plus en plus que c'est l'hébergeur qui vient de modifier quelque chose dans le support de php.

Répondre