Text encoding : à devenir fou!

  • Créateur du sujet Créateur du sujet @ybee
  • Date de début Date de début

@ybee

Membre expert
Club iGen
18 Mai 2001
1 039
14
42
Embourg, Belgique
antoine.olbrechts.eu
Hello tout le monde!

Je viens de mettre à jour mon site, et tout est à présent codé en UTF-8 pour l'encodage texte.
La base de données sur laquelle je m'appuye est également en UTF-8, j'ai transformé toutes les tables... MAIS j'ai des problèmes de caractères :(

Je comprends pas trop, si tout est en UTF-8 (je vois pas trop ce que j'aurai pu oublier d'autre), pourquoi les données qui sortent de la base ne sont pas correctes :(

Vous avez une idée ??

Merci!!
 
+1

Récemment j'ai réalisé un site en utf8, et les accents n'étaient pas pris en compte sur certains navigateurs (IE, Opera, Firefox).
J'ai donc du remplacer tous ces caractères ["é" en é]... :confused:
 
truk2oof a dit:
personnellement, la seule solution que j'ai trouver, c'est, en plus du <meta http-equiv="content-type" content="text/html; charset=utf-8" />, de rajouter en début de page (première ligne du fichier) :
<?php header("content-type: text/html; charset=utf-8"); ?>
puis ça marche !! :zen:
Bonjour
A l'intention d'IE je double effectivement le script pour l'encodage comme ci-dessous avec la norme xhtml 1.1 :
Bloc de code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head><title>XXXXX</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
......
BorakHTML écrit du xhtml 1.0 avec en-tête comme ceci :
Bloc de code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
   <title>xxxx</title>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
J'ai vérifié, les deux marchent dans les différents navigateurs.
NB : BorakHTML transforme sans pb le code iso 8859-1 en UTF-8 et tous le eacute redeviennent des é.
 
Langellier a dit:
Bonjour
A l'intention d'IE je double effectivement le script pour l'encodage comme ci-dessous avec la norme xhtml 1.1 :
Bloc de code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head><title>XXXXX</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
......
BorakHTML écrit du xhtml 1.0 avec en-tête comme ceci :
Bloc de code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
   <title>xxxx</title>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
J'ai vérifié, les deux marchent dans les différents navigateurs.
NB : BorakHTML transforme sans pb le code iso 8859-1 en UTF-8 et tous le eacute redeviennent des é.
oui, comme chez moi, c'est deux solutions marchent en local, mais une foi sur les serveur de free par exemple, moi je suis obligé de rajouter le bout de code php... pourtant ça n'a aucun rapport avec le serveur... allez savoir pourquoi ça se passe comme ça... les mystères du web...
 
truk2oof a dit:
oui, comme chez moi, c'est deux solutions marchent en local, mais une foi sur les serveur de free par exemple, moi je suis obligé de rajouter le bout de code php... pourtant ça n'a aucun rapport avec le serveur... allez savoir pourquoi ça se passe comme ça... les mystères du web...
UTF-8 est bien plus commode pour les utilisateurs mac : le source peut être écrit avec des caractères accentués et spéciaux et ce dans toutes les langues. Normalement tous les navigateurs (à partir des versions 4 : NS 4 et IE 4) acceptent l'UTF-8.
J'écris du xhtml utf-8 avec TextEdit sous macOS X, mais ça ne marche pas avec simpleText (OS 9).
Je ne sais pas pourquoi.
Concernant le xhtml, s'il est annoncé dans le doctype, il est impératif d'en respecter la syntaxe :
1) balise en minuscules
2) balises de fin obligatoires
Bloc de code:
<div><p>Blabla<br />Blalbla</p></div><hr />
Le xhtml ne supporte pas les erreurs contrairement au html4.
Le site :
http://validator.w3.org/
permet de vérifier la validité du source (aussi bien des pages en locale que celle déposées chez hébergeur).

Il faudrait qu'on ait un exemple de page et qu'on vérifie l'affichage est correct chez les autres.
NB : Ci-cessous pages valides.
 
woa a dit:
+1
Récemment j'ai réalisé un site en utf8, et les accents n'étaient pas pris en compte sur certains navigateurs (IE, Opera, Firefox).
J'ai donc du remplacer tous ces caractères ["é" en &eacute;]... :confused:
Bonjour,
je viens de consulter le source de ton site.
Il y a deux lignes contradictoires qui expliquent pq tu es obligé d'écrire eacute :
Bloc de code:
<?xml version="1.0" encoding="iso-8859-1"?>
Bloc de code:
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
Remplace, sur la première ligne iso 8859-1 par UTF-8
Ca fera deux lignes redontantes, mais il semble que ce soit nécessaire à Internet Explorer :confused:
 
Salut,

Donc, pour résumer ce thread jusqu'à présent, tu as spécifier l'encodage de ta page en UTF-8:

Bloc de code:
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

En supposant que l'encodage de ta base et de tes tables est aussi en UTF-8 avec MySQL 5 et que le problème survient uniquement avec des caractères accentués d'enregistrements que tu ressors de la base de données, il est possible que cela soit dû à la "collation de connexion" comme le manuel MySQL le décrit ici. Ajoute cela après ta connexion au serveur:
Bloc de code:
mysql_query("SET NAMES 'UTF8'");

J'espère que cela pourra t'aider. Tiens-nous au courant !