Affichage caractères spéciaux [Résolu/Fermé]

Signaler
Messages postés
1306
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
3 mai 2021
-
Messages postés
1306
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
3 mai 2021
-
Bonjour,

Via une page html, je saisie divers champs. Sur ma page html, j'ai le meta :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Dans cette page, je choisi le mois style 01,02,03...... :
Mois: <SELECT name="mois_manif">
<OPTION VALUE=""></OPTION>
<OPTION VALUE="01">01</OPTION>
<OPTION VALUE="02">02</OPTION>
<OPTION VALUE="03">03</OPTION>................
De là, j'ai un script php pour inscription dans ma bd (pour différents pays):
$months = array("janvier", "février", "mars", "avril", ................);
$months_it = array("gennaio", "febbraio", "marzo", "aprile", ................);
$months_sp = array("enero", "febrero", "marzo", "abril",.................);
$months_gb = array("January", "February", "March", "April"...............
Et le résultat dans la bd est que les caractères spéciaux sont remplacés par "?". Et donc l'affichage sur internet n'est pas bon !
La base est déclarée en "utf8_general_ci". Le champs date où le mois est enregistré est déclaré aussi en "utf8_general_ci". J'ai essayé en "latin1_general_ci", c'estr pareil !!

Comment faire ?
Merci
A voir également:

4 réponses

Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
995
Bonjour,

Assure-toi que ton fichier .php (le code source) est bien encodé en UTF-8 (sans BOM).
Notepad++ par exemple permet de contrôler / modifier efficacement l'encodage d'un fichier.

Xavier
Messages postés
1306
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
3 mai 2021
10
J'ai essayé d'encoder avec Notepad++. J'ouvre le fichier, encodage, UTF8 (sans BOM). J'enregistre, et les caractères spéciaux sont remplacés par "?".
ao? pour août, d?embre pour décembre ................
Messages postés
6650
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 298
Bonjour,

Quand vous créez la connexion à la BDD:

function connect() {
$connection = mysql_connect($host,$user,$password);
$db_selected = mysql_select_db($base, $connection);
if (!$db_selected) {
echo 'Impossible d\'utiliser la base : ' . mysql_error();
return;
}
$dbh = $db_selected;
// si encodage UTF-8 des données de la base, sinon mettre cette ligne en commentaire
mysql_query("SET NAMES 'utf8'");
}

il faut pas oublier cette ligne:

......
mysql_query("SET NAMES 'utf8'");

Tout est expliqué ici:
https://html5.immo-scope.com/article/general_basedeDonneesFullUTF8

A+
Messages postés
1306
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
3 mai 2021
10
J'ai résolu mon problème en mettant
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
au début du script, sans <html> ni </html>.............

Merci à vous pour votre implication !
A ++