Problème encodage

Petit nouveau ! | 2 Messages

23 oct. 2012, 12:40

Bonjour,

Lorsque je charge la page que je suis entrain de créer sur un navigateur, à la place des accents il apparait des points d'interrogation.

Le seul encodage qui semble m'afficher la page correctement est de l'occidental (MacRoman) ou (Mac OS Roman). Néanmoins quand je change la phrase
<?php header('Content-type: text/html; charset=UFT-8'); ?>
en la phrase
<?php header('Content-type: text/html; charset=Mac OS Roman'); ?>
rien ne se passe et j'ai toujours des points d'interrogation...

Je suis sur mac, j'ai utilisé un logociel jEdit pour enregistrer avec un encodage en Mac OS Roman mais rien n'y fait.

Voici la page en question : http://www.sarl-sfgc.fr/client/about-us.php

Merci beaucoup pour votre aide car je ne sais plus vraiment que faire...

Eléphant du PHP | 343 Messages

23 oct. 2012, 16:07

Il faut tout mettre en utf8 donc:

Le fichier en utf8 sans bom
La meta html en utf8
et la table en utf8 si tu utilises une bdd
Développeur web

Petit nouveau ! | 2 Messages

23 oct. 2012, 16:30

Alors même que ma page n'est visible qu'en MacROman ?

Eléphant du PHP | 343 Messages

23 oct. 2012, 16:55

Je ne connais pas le MacRoman ni ses spécificités.
Normalement le utf8 est suffisant (sauf s'il y aura des caractères non supportés par la suite).
Développeur web

Invité
Invité n'ayant pas de compte PHPfrance

23 oct. 2012, 18:12

Merci.
J'ai essayé de procéder ainsi, malheureusement cela ne fonctionne pas.

La seule chose que je constate, c'est que j'ai un template, que ce template est encodé en UTF-8, lorsque je mets du texte français des points d'interrogations sont à la place des accents, la seule manière de lire la page est dans le navigateur de sélectionner un encodage Occident (Macintosh)...

Que faire ?

Merci de votre aide.

ViPHP
xTG
ViPHP | 7331 Messages

23 oct. 2012, 18:21

Ton texte tu l'insères comment ? Dans le fichier ?
Dans une BDD ? Dans un autre fichier qui est importé dans le template ?

Mammouth du PHP | 790 Messages

23 oct. 2012, 21:21

a mon avis mais je peuxvme tromper, les données sont enregistrées directement en bdd avec les accents ???
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Eléphant du PHP | 229 Messages

24 oct. 2012, 07:51

Bonjour,
copié collé d'un logiciel tiers?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

24 oct. 2012, 08:24

a mon avis mais je peuxvme tromper, les données sont enregistrées directement en bdd avec les accents ???


Oui c'est mieux, cela permet d'utiliser ces données pour autres choses qu'un affichage dans un navigateur (agregateur rss, export quelque soit le format etc).


quand au sujet d'origine, effectivement il y a beaucoup de chose à vérifier.

je ne crois que tu ai répondu sur :
- ton navigateur indique quel encodage (sans que tu y touche, il est en iso, utf-8 en auto ?)
- Si tu ouvre ton fichier php avec notepad++ et que tu regarde l'encodage il dit quoi ?

Après test rapide effectivement tes données sont mac roman.

tu travail donc sur un mac et tes données en viennent ?
lors de l'insertion ton charset n'était pas utf-8 ?

il est préférable de corriger tes données avec le bon charset (et un plus standard), sinon il faut que tu change :
- le header (comme tu l'indique pour du mac roman)
- la balise meta qui contient le charset (<meta http-equiv="Content-type" content="text/html;charset=utf-8" />) de façon a ce qu'elle aussi contienne le bon charset.
- Même chose pour le sgbd par de set names utf8 si passe en "mac roman".

Perso je pencherais pour mettre les données en utf-8 plutot que l'inverse, vérifie bien que la collation (sisi c'est comme qu'il l'appel chez mysql ;) ) de la table soit en utf-8 (voir des colonnes).

@+
Il en faut peu pour être heureux ......