ANSI, UTF8, je deviens fou!
DesesperayJohn
-
mpmp93 Messages postés 6648 Date d'inscription Statut Membre Dernière intervention -
mpmp93 Messages postés 6648 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je n'ai pas l'habitude de poser des questions sur les forums étant donné que d'habitude je trouve toujours des réponses tout seul en cherchant un peu. Aujourd'hui je suis à deux doigts de fracasser mon ordinateur à coup de hache tellement je n'en peu plus.
Je dois traduire l'intégralité d'un site, par défaut l'encodage (Notepad++ me l'indique) était en ANSI, j'ai immédiatement converti toutes les pages en UTF8 et commencé à traduire avant de me rendre compte que mes accents étaient affreux et que des chaines de caractères apparaissaient n'importe où sur ma page (exemple: " Ãf¯Ã'»Ã'¿ ÃfÂfÃ'¯ÃfÂ'Ã'»ÃfÂ'Ã'¿" en plein milieu d'un menu...)
Dans mon header j'ai bien ajouté
"<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />"
Mais cela ne semble rien changer, j'arrive à afficher des accents dans mon menu mais c'est tout...
Je suis désespéré, j'ai tenté de faire un htaccess pour forcer l'utf8, j'ai TOUT tenté et je n'y arrive pas.
Merci d'avance
Je n'ai pas l'habitude de poser des questions sur les forums étant donné que d'habitude je trouve toujours des réponses tout seul en cherchant un peu. Aujourd'hui je suis à deux doigts de fracasser mon ordinateur à coup de hache tellement je n'en peu plus.
Je dois traduire l'intégralité d'un site, par défaut l'encodage (Notepad++ me l'indique) était en ANSI, j'ai immédiatement converti toutes les pages en UTF8 et commencé à traduire avant de me rendre compte que mes accents étaient affreux et que des chaines de caractères apparaissaient n'importe où sur ma page (exemple: " Ãf¯Ã'»Ã'¿ ÃfÂfÃ'¯ÃfÂ'Ã'»ÃfÂ'Ã'¿" en plein milieu d'un menu...)
Dans mon header j'ai bien ajouté
"<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />"
Mais cela ne semble rien changer, j'arrive à afficher des accents dans mon menu mais c'est tout...
Je suis désespéré, j'ai tenté de faire un htaccess pour forcer l'utf8, j'ai TOUT tenté et je n'y arrive pas.
Merci d'avance
A voir également:
- Convertir fichier utf8 en pdf
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
2 réponses
Bonjour,
les  truc dans le genre sont au début des fichiers, à la base ils ne sont pas affichés, c'est pour indiqué si l'encodage du fichier est en little endian ou big endian. Supprimez ces caractères l'encodage étant défini dans l'entête de la page y en a pas besoin et à mon avis ce sont eux qui posent le problème pour décoder les caractères qui les suivent !
les  truc dans le genre sont au début des fichiers, à la base ils ne sont pas affichés, c'est pour indiqué si l'encodage du fichier est en little endian ou big endian. Supprimez ces caractères l'encodage étant défini dans l'entête de la page y en a pas besoin et à mon avis ce sont eux qui posent le problème pour décoder les caractères qui les suivent !
Bonjour,
l'encodageUTF8 est celui que je préconise. Mais il est évident de savoir le maîtriser. Il y a quelques règles simples qui sont très bien expliquées ici:
http://html5.immo-scope.com/index.php?page=general/applisFullUtf8
Pour info: l'encodage UTF8 est celui qui existe nativement sous Linux. C'est celui de GOOGLe et de nombreux autres sites.
En encodage UTF8, plus de problème d'entités du genre é à traduire en
l'encodageUTF8 est celui que je préconise. Mais il est évident de savoir le maîtriser. Il y a quelques règles simples qui sont très bien expliquées ici:
http://html5.immo-scope.com/index.php?page=general/applisFullUtf8
Pour info: l'encodage UTF8 est celui qui existe nativement sous Linux. C'est celui de GOOGLe et de nombreux autres sites.
En encodage UTF8, plus de problème d'entités du genre é à traduire en
&eacute;, vous pouvez utiliser différents alphabets (écrire en grec, en arabe, en russe, en japonais, en chinois...).
Edit : je viens de faire un test si ça peut vous aider, en utilisant un fichier test.txt avec des accents en uft-8 et un html qui le charge dans une iframe.
Sous firefox si la meta pour l'encodage n'est pas ajoutée et que les caractères d'encodage de test.txt sont supprimés, il y a le problème avec les accents vu qu'ils sont en utf-8, ils ne sont pas décodés.
- En ajoutant la meta le décodage des accents se fait correctement.
- Sans la meta et avec les caractères d'encodage dans le fichier txt le décodage des accents est se fait correctement.
Donc ils faut au minimum la meta ou les caractères d'encodage qui sont au début du fichier.
Sous opera dans tout les cas ça s'affiche correctement..
Faut voir de quelle manière les fichier en utf-8 sont chargé dans la page, si vous pouvez donner un échantillon ce serait bien
header('Content-type: text/html; charset=UTF-8');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<link rel="shortcut icon" href="./core/images/favicon.ico" />
<title><?php echo $title; ?></title>
<style type="text/css">
@import "./core/css/style.css";
</style>
<script type='text/javascript'>
Voilà l'entête de mon header, toutes mes pages sont censées l'appeler. J'ai procédé avec votre méthode (édition hexadécimale) effectivement il y avait des caractères, ils n'apparaissent plus, mais mes accents ne sont pas réparés :(
Edit: j'ai volontairement mis deux fois la déclaration du charset, je me suis dis que ça changerait quelque chose... :(
Edit2: toutes les pages ne l'appellent pas, mais même si je met manuellement le header + charset dans une page cela ne change rien
Edit3: en réalité lorsque je supprime les caractères avec le logiciel hexadécimal mon charset est remis en ANSI, je vais chercher encore un peu voir si y'a pas d'autres caractères qui se mettent ailleurs
Edit4: Mon footer me faisait apparaitre une des chaines étranges, seulement elle n'est pas visible en hexa O.O