Pages : 1
#1 Le 22/08/2007, à 18:13
- matt11
encodage caractère site web
[Voir le dernier message du sujet, merci]
Bonjour,
Je suis nouvel utilisateur de Kubuntu et je fais du php.
J'utilise XAMPP comme Serveur de développement, kate comme éditeur de texte (à qui d'ailleur j'ai changer toutes les couleur pour la coloration de code car par défaut il n'est pas du tout pratique) et j'utilise Konqueror comme navigateur web.
Le problème est que quand je créer un page en PHP (sans feuille de style et CSS) que je lance le serveur et que je me rend sur cette page les caractère spéciaux tel que (é, è ë, ê, à, etc) ne s'affiche pas correctement et affiche à la place (é, è, à«, ê, à ).
Je ne sais pas ce qui fait cela, pouvez-vous m'aider SVP ?
Merci d'avance.
Cordialement.
Dernière modification par matt11 (Le 24/08/2007, à 11:08)
Hors ligne
#2 Le 22/08/2007, à 18:17
- Dert Ung
Re : encodage caractère site web
Salut,
Normalement, quand ça affiche cela, c'est du au fait que les caractères spéciaux ne peuvent que sur une simple pression sur les touches dédiées pour.
Genre pour "é", il s'écrit "é" etc...
Apple, c'est pas pour moi. Je suis claustrophobe.
T'as mal vu mon avatar? Clique ici
Un peu de clarté, ça fait du bien.
Hors ligne
#3 Le 23/08/2007, à 09:21
- Alain.g
Re : encodage caractère site web
Salut
Eh bien il faut déclarer l'encodage. Tu peux le faire par exemple via un fichier .htaccess en y insérant AddDefaultCharset utf-8 (ou un autre charset).
Xubuntu Karmic !
Hors ligne
#4 Le 23/08/2007, à 11:35
- matt11
Re : encodage caractère site web
Je trouve ça bizard parce que le même fichier sur windows avec notpad comme éditeur de texte, easyphp car Serveur de développement et firefox comme navigateur les caractère speciaux s'affiche normalement.
Voila mon code source :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Sommaire</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<p>é, è, ê, ë, à</p>
</body>
</html>
Et pour affichier les é, è, ê, ë, à dans une page web on n'est pas obligé de les remplacer par "é" etc...
Je ne comprend vraiment pas.
Hors ligne
#5 Le 23/08/2007, à 12:23
- matt11
Re : encodage caractère site web
J'ai remplacer le charset iso-8859-1 par le charset utf-8 et ça marche parfaitement mais pourquoi dans les cours de html on conseille le charset iso-8859-1 et pas le charset utf-8.
Quel sont leurs avntages et leurs inconvéniant ?
Hors ligne
#6 Le 23/08/2007, à 19:54
- gene69
Re : encodage caractère site web
et bien latin 1 (ISO-8859-1) possède l'avantage d'être par défaut sur windows. UTF8 va toujours te demander des programmes qui gèrent des locales pour les éditer. en plus il y a des raisons historiques.
J'utilise personnèlement des latin 9 (ISO-8859-15) qui définie tous les caractères legaux en français, y compris le e dans l'o et autres.
l'article de wikipedia est bien fait: http://fr.wikipedia.org/wiki/ISO_8859-15
je suis d'accord avec matt11, le xhtml c'est plus pratique pour bien des choses.
Dernière précision, par priorité décroissante:
l'encodage est spécilifié par
1 -> les entêtes de la pages ( header() en php )
2 -> le prologue xml si présent
3 -> la balise méta appropriée dans <html></html>
sur beaucoup de serveur, le 1 a une valeur par défaut.
Dernière modification par gene69 (Le 23/08/2007, à 20:05)
Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion
Hors ligne
#7 Le 23/08/2007, à 20:10
- gene69
Re : encodage caractère site web
ps : faire du text/html c'est déprécié pour du xhtml. Tu peux envoyer du application/xhtml+xml à tous les navigateurs qui l'accepte en envoyer de la soupe aux autres (->ie ). en php tu fais comme ça:
/** detecte l'entete mime
* @return string elle contient le mime
*/
function detecterMime()
{
if ( stristr ( $_SERVER['HTTP_ACCEPT'] , 'application/xhtml+xml' ) )
{
$this->prologue = true;
return 'application/xhtml+xml';
}
else
{
return 'text/html';
}
}
et après tu es obligé de valider ta page parce que du xml mal formé ça n'est pas possible de l'afficher
Dernière modification par gene69 (Le 23/08/2007, à 20:11)
Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion
Hors ligne
#8 Le 24/08/2007, à 10:09
- matt11
Re : encodage caractère site web
Houlala ça devient un peu compliqué pour le débutant que je suis.
J'ai regardé le code source de pas mal de site (grand et connue) et il utilise le charset utf-8 (y compris la doc ubuntu).
Donc je peux en conclure qu'il vaut mieux utiliser le charset utf-8.
UTF8 va toujours te demander des programmes qui gèrent des locales pour les éditer
Qu'est-ce que des "locales" et est-ce que c'est bien ou au contraire c'est pas bien ?
J'ai lu quelque article dessus et j'ai cru comprendre qu'il peut avoir des problème avec la base de données MySQL si on utilise le charset utf-8.
Personnellement je ne savais pas que ça existait tous ces encodage avant de commencer à faire du php et du Xhtml sous linux et rencontrer un problème avec mon naviguateur qui liser mal les caractère spéciaux (d'ailleur c'est bizard car dans encodage des caractère il me propose ISO-8859-1 je le choisis mais il m'affiche toujours mal les caractère). Donc la je me demande quel est le meilleur encodage pour que le plus de monde puisse voir mon site correctement.
Sinon pour l'histoire du text/html et xhtml j'ai pas très bien compris. La aussi il peut avois plusieur choix ?
Pourrais-tu me mettre le code type du haut d'une page cela m'aiderais. Merci.
Hors ligne
#9 Le 24/08/2007, à 11:36
- ®om
Re : encodage caractère site web
Utilise UTF-8, c'est le seul encodage "universel" (mais malheureusement pas par défaut sous Windows). Universel dans le sens où il peut représenter tous les caractères... contrairement à iso qui a 50000 normes différentes...
Hors ligne
#10 Le 24/08/2007, à 11:49
- Alain.g
Re : encodage caractère site web
Sinon pour l'histoire du text/html et xhtml j'ai pas très bien compris. La aussi il peut avois plusieur choix ?
Oublie ça à mon avis... ça ne te servira à rien pour le moment et probablement même pas par la suite text/html, comme tu as fait, c'est très bien.
Personnellement je te conseillerais plutôt d'utiliser UTF-8. Qui peut le plus peut le moins.
L'iso-8859-15 peut paraître suffisant pour le français, mais même là il manque par exemple les tirets cadratins et semi-cadratins, les points de suspension, les "vrais" apostrophes (’), les espaces insécables… Même si toi tu ne les utilises pas, tu pourrais en « récolter » par un simple copier-coller.
Et ça sera plus pratique pour citer Aristote en VO
Ça ne posera pas de problème à tes visiteurs du moment que l'encodage est bien déclaré (utiliser un .htaccess comme dit plus haut en plus de la balise méta). Ce qui est valable également pour l'iso-8859-15 d'ailleurs
http://forum.alsacreations.com/faq/?id=78
Xubuntu Karmic !
Hors ligne
#11 Le 24/08/2007, à 12:29
- HymnToLife
Re : encodage caractère site web
Au passage, on voit que tout le mlonde ne fait pas forcément attention à ça
- Rodrigue, as-tu du cœur ?
- Non, mais j'ai du pique !
Hors ligne
#12 Le 24/08/2007, à 12:49
- matt11
Re : encodage caractère site web
Merci Alain.g pour le lien très interressant, grace à ça j'ai réussit à résoudre un problème.
Vous me conseillez le charset utf-8 mais j'ai lu qu'il y avait des problème avec les base de données et le php.
Est-ce vrai et est-ce contraignant?
Hors ligne
#13 Le 24/08/2007, à 12:55
- HymnToLife
Re : encodage caractère site web
Pas vraiment, il faut juste faire attention à l'encodage utilisé dans ta base de données. Et puis même si c'est de l'iso-8859-1 dans ta db, un petit utf8_encode() réglera ça
- Rodrigue, as-tu du cœur ?
- Non, mais j'ai du pique !
Hors ligne
#14 Le 24/08/2007, à 13:02
- bipede
Re : encodage caractère site web
Merci Alain.g pour le lien très interressant, grace à ça j'ai réussit à résoudre un problème.
Vous me conseillez le charset utf-8 mais j'ai lu qu'il y avait des problème avec les base de données et le php.
Est-ce vrai et est-ce contraignant?
Si tu déclares ta base MySQL comme étant gérée en utf-8 tu n'auras aucun problème (voir l'administration de la base).
SQLITE est gérée par défaut en utf-8
Dernière modification par bipede (Le 24/08/2007, à 13:02)
Desktop: MSI - Intel® Core™ i5-3330 CPU @ 3.00GHz × 4 - RAM 8 go- Kubuntu 21.04 - Système sur SSD 64 Go - /home sur HDD 500 Go.
Laptop: DELL Inspiron-15 3567 - Intel® Core™ i5-7200 CPU @ 2.50GHz × 4 - RAM 8 go - HDD 1 To - Ubuntu 20.10 avec /home séparé.
Mon site: Les contributions du bipède
Hors ligne
#15 Le 24/08/2007, à 13:19
- matt11
Re : encodage caractère site web
OK un grand merci à tous.
Hors ligne
#16 Le 30/09/2007, à 21:14
- meuhlavache
Re : encodage caractère site web
Au passage, on voit que tout le mlonde ne fait pas forcément attention à ça
Aurais tu une solution côter naviguateur pour règler le soucis ? Beaucoup de site et meme la console m'affiche toujours cet sorte de "?"...
Pour la console si je change en iso ca passe (j'utilise Konsole) mais pour Firefox j'ai beau faire la modification utf8->iso-8859-15 et l'inverse les page m'affiche toujours les "?" quand c'est encodé en UTF8....
Hors ligne
Pages : 1