Problème accents avec include php

Fermé
midnnight Messages postés 484 Date d'inscription jeudi 23 février 2006 Statut Membre Dernière intervention 26 juillet 2017 - 30 déc. 2015 à 18:49
 Utilisateur anonyme - 31 déc. 2015 à 16:27
Bonjour,
Comme vous pourrez le voir ci-dessous, ma page est encodée et doctype en utf8 mes fichiers aussi.
Le fichier menu.txt est sur le serveur dans le dossier menu, le fichier de création de page est a la racine, quand j'écris directement dans la page les accents sont présents (ok) mais dans includes (<?php include('menu/menu.txt'); ?> j'ai des losanges avec point d'interrogation (?) pouvez vous m'aider a récupérer les accents dans mon menu (comme dit, les fichiers textes et tout fichiers sont convertis en utf8 sur le serveur. merci... ;-) !
<!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" lang="fr">

<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>simul</title>
</head>
<body>Hello :!!!
<div style="width:800px; min-height:600px; border:1px solid blue;">Corps<br />
<div style="width:220px; min-height:200px; border:1px green solid;float:left;margin-left:8px;margin-right:8px;margin-bottom:4px;">Menu
<br /><a href="../eeee-55555555555555555">���� 55555555555555555</a><br /> ééé
</div>
<span style="font-family:Comic Sans MS; margin-left:12px;margin-top:-200px;">
<br /> C'est �à vous !
</span>
</div><a href="../../remplace-form.php">créer page</a> ou <a href="formZ1.php"> Admin</a>ËÊÈÉ
</body></html>


A voir également:

2 réponses

Bonjour

Comme vous pourrez le voir ci-dessous, ma page est encodée et doctype en utf8

Non, ce que tu montres ne nous dit absolument pas en quoi sont encodés tes fichiers.
C'est ton éditeur, celui qui te sert à écrire tes pages, qui détermine l'encodage.
Quand tu écris "charset=utf-8", cela ne change rien à l'encodage de ton fichier. C'est une information que tu donnes au navigateur pour qu'il sache que tu as écrit en utf-8, mais si ton fichier n'est pas vraiment en utf-8, ton navigateur est trompé et n'affiche pas correctement.

Il y a gros à parier que ton fichier menu/menu.txt n'est pas en utf-8. Si tu ne sais pas le vérifier, peux-tu le mettre sur cjoint.com pour que nous puissions vérifier ?
0
midnnight Messages postés 484 Date d'inscription jeudi 23 février 2006 Statut Membre Dernière intervention 26 juillet 2017 38
Modifié par midnnight le 31/12/2015 à 12:46
Bonjour, merci pour ta réponse, oui je sais bien qu'il faut que le fichier soit en utf-8, je suis sous windows7 et je les ai encodés (enregistré sous) avec le "blocnote" Utf-8 puis envoyés sur le serveur avec Filezilla... Mais grace à toi je crois avoir compris, ce que je fais est un peu compliqué a expliquer, mais je créé un dossier et un index dedans et l'index inclu le fichier "page.html" qui est le template (mise en page) de cet index et c'est la création de cet index qui se fait en "Ainsi" donc pas d'accents. (le menu.txt est aussi inclus dans cet index du coup encodé en Ainsi)
if(isset($_POST['dossier']))
{
$fichier3 = "index.php";
$chemincomplet="p/".$file;
$fichier3 = fopen($chemincomplet."/".$fichier3,"a+"); fwrite($fichier3,"<?php include('../../page.html') ?>");
print '<a href="'.$chemincomplet.'">iiiici</a>';
}
else {
echo "En attente de creation de l-index ";
c'est là que ça coinse, le fichier index est créé en encodage Ainsi, je vois pas pourquoi...
0
midnnight Messages postés 484 Date d'inscription jeudi 23 février 2006 Statut Membre Dernière intervention 26 juillet 2017 38
31 déc. 2015 à 13:17
$fichier3 = fopen($chemincomplet."/".$fichier3,"a+"); fwrite($fichier3,utf8_encode($content))"<?php include('../../page.html') ?>");
génère une erreur
fwrite($fichier3,utf8_encode($content));
ajouté ne change rien...
0
midnnight Messages postés 484 Date d'inscription jeudi 23 février 2006 Statut Membre Dernière intervention 26 juillet 2017 38
31 déc. 2015 à 15:46
Recherche de codes php sur google avec mots clés du type "php script générer fichier utf-8" , "php encodage fichier utf-8" ... etc ... Etrange, rien de ce que j'ai lu ou essayé ne m'a convaincu... Fichiers toujours sans accents et créé en encodage Ainsi... Curieux ... Mon serveur est bien sous php 5 +... Tu as ou vous avez un bout de script à me soumettre? ;-)
0
Utilisateur anonyme
31 déc. 2015 à 16:27
Arrête de parler de "Ainsi", c'est ANSI.
Et il n'y a pas de script à te donner, car il n'y a rien de particulier à faire pour créer un fichier en utf-8 : ce n'est pas un type particulier de fichier, ce sont juste les données que tu écris dedans qui sont - ou pas - en utf-8.
Les données qui t'apparaissent comme des points d'interrogation dans un losange viennent bien d'un fichier, non ?
Si oui, mets une copie de ce fichier (ou un extrait) sur cjoint.com, et mets le lien ici,
Si non, d'où viennent ces données ?
0