salut
j'ai un soucis d'encodage.

dans mon head(index.php)j 'insère la meta:

<meta http-equiv="Content-Type: text/plain; charset=iso-8859-1"/>

dans mon texte, les accents s'affichent bien mais le soucis c que le navigateur affiche des morceaux de balises en php()

si je mets l'iso
<meta http-equiv="Content-Type; charset=UTF-8" />

il mets des carrés à la place des accents mais il supprime () Smiley decu

que dois je faire?fo til que je définis mieux le content-type?
Modérateur
Bonjour et bienvenue, Smiley smile

Pour être sûr d'obtenir un bon affichage, il y a plusieurs choses à faire :

- Définir un header php
<?php

header('content-type: text/html; charset=iso-8859-1');

?>
en début de page.

- Mettre la meta correspondante :
<meta http-equiv="content-type: text/html; charset=iso-8859-1" />

- Enregistrer le fichier au bon format :
Pour Notepad++ et dans le cas présent, menu "format" (je le fais de tête Smiley cligne ) puis choisir ANSI. (décocher utf-8 sans BOM si c'est coché)

Si tu passes en utf-8, il faut préciser utf-8 au lieu de iso-8859-1 dans le header et la meta et enregistrer le fichier avec utf-8 sans BOM coché.

Un petit lien sur le sujet pour plus de précisions :
http://www.blog-and-blues.org/weblog/2004/08/16/275-encodage-caracteres-xhtml
Bonjour,
Je suis passé par là il y a seulement quelques semaines.
En fait, comme l'a dit koala64, dans notepad++ il faut encoder les pages avec UTF-8 sans BOM. Parce que justement si tu encodes tes pages en UTF-8, les caractères dont tu parles () se trouvent au début de chacune de tes pages (d'où leur affichage).
Et j'imagines que tu dois essayer de passer tout ton site en UTF-8, et dans ce cas je te propose ce site que l'on m'a recommandé et qui est parfait:
Conversion UTF-8

Bon courage
Et sinon, la FAQ en parle. Smiley cligne

PS: Notepad++ c'est sympa, mais bonjour la gestion des encodages qui défie le bon sens...
mon problème n'est pas la:

si dans ma meta je mets du uft-8 tous mes caractères é seront affichés en carrés et je n'aurai pas de () en haut de ma page;

si dans ma meta je mets du ISO-8859-1 tous mes caractères é passeront bien mais il affichera en haut de mes pages des () ;
prenons le mot actualités

je suis allé dans mon php.ini . voila ce que j'ai
-si je met: default_charset = "iso-8859-1" j'ai "Actualités" mais "Voir tous les évènements "
- si je met: default_charset = "UTF-8" j'ai " Actualités" mais "Voir tous les &#65533;v&#65533;nements"

que faire alors??
Je me permet de reprendre ce sujet comme c'est le meme probleme...

J'ai  qui s'affiche, j'ai pourtant changer le fichier et l'enregistré en UTF8 sans bom, seulement rien ne change :'( je comprend pas j'utilise notpad++ et j'ai modifier les parametre et c'est la 1er fois qu'il me fait cella.

Ma page est declaré sous la forme iso-8859-1 et j'inclus la page qui pose probleme mais meme en l'enregistrant de nouveau en UTF8 sans BOM cela ne change rien. Personne a une petit idée ?


je suis pas le seul à avoir le probleme

concretement qqn a la solution??
phpCbien: tu as une page avec des caractères encodés en iso-8859-1, mais qui déclarée avec cet encodage laisse apparaitre les caractères du BOM (byte-order mark)? Voilà qui est étrange.

Une solution que je vois, c'est si tes données ne viennent pas toutes du même fichier. Par exemple si tu as deux fichiers PHP différents, ou si certaines données viennent d'une base de données, etc.

Sans avoir le détail, difficile d'en dire plus.
ayé j'ai trouvé: le soucis venait du fait que dans ma page index, j'utilisais un include vers un menu .php mais avec UTF8 sans BOM décoché Smiley eek alors que florent V a bien précisé que toutes les pages devaient etre comme ca.

simplement...

merci d'avoir répondu si vite en tout cas.......... Smiley cligne

'lut
merde, il me mets des é à la place maintenant.

ca craint...du boudin

bon, + d'infos:

dans ma page index.php:
<!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>
[b]<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />[/b]
    <title>Bienvenue sur Kuthe SAS</title>
   <script type="text/javascript" src="menu.js"></script> 
    <link rel="stylesheet" href="Style.css"  type="text/css" media="screen"/>
</head>
<body> 
<a href="setlang.php?lang=fr">FRANCAIS</a>
<a href="setlang.php?lang=en">ANGLAIS</a>
<?php if (!isset($_COOKIE['MONCOOKIELANGUE']))
{ $LangFile = "fr-lang.php"; } // si le cookie n'existe pas on met le fichier fran&#34985;s
else
{ $LangFile = $_COOKIE['MONCOOKIELANGUE']; } // sinon on inclu le fichier mis dans le cookie
require ("$LangFile");
[b] include("menu.php");?>[/b]
</body>
</html>

[b]menu.php[/b]
div id="principal">
<div id="pub"></div>
<div id="espace"></div>
<div id="menubar">
<ul id="nav">
	<li><a href="index.php?rubrique=professionnels"><?php echo ESPACE_PRO;?></a>
		<ul>
			<li><a href="index.php?rubrique=professionnels" class="daddy"><?php echo ESPACE_PRO_1;?></a>
				<ul>					
					<li><a href="index.php?rubrique=mapage3" class="daddy"><?php echo ESPACE_PRO_1_1;?></a>
						<ul>
							<li><a href="#"><?php echo ESPACE_gal;?></a></li>
							<li><a href="#"><?php echo ESPACE_ref;?></a></li>
						</ul>
					</li>
					<li><a href="index.php?rubrique=mapage4" class="daddy"><?php echo ESPACE_PRO_1_2;?></a>
						<ul>
		                    <li><a href="#"><?php echo ESPACE_gal;?></a></li>
							<li><a href="#"><?php echo ESPACE_ref;?></a></li>
						</ul>
					</li>
					<li><a href="#" class="daddy"><?php echo ESPACE_PRO_1_3;?></a>
						<ul>
			                <li><a href="#"><?php echo ESPACE_gal;?></a></li>
							<li><a href="#"><?php echo ESPACE_ref;?></a></li>
						</ul>
					</li>					
				</ul>
			</li>
			<li><a href="#" class="daddy"><?php echo ESPACE_PRO_2;?></a>
				<ul>
					<li><a href="#"><?php echo ESPACE_PRO_2_1;?></a>
					    <ul>
		                    <li><a href="#"><?php echo ESPACE_gal;?></a></li>
							<li><a href="#"><?php echo ESPACE_ref;?></a></li>
						</ul>
					</li>
					<li><a href="#"><?php echo ESPACE_PRO_2_2;?></a>
					    <ul>
		                    <li><a href="#"><?php echo ESPACE_gal;?></a></li>
							<li><a href="#"><?php echo ESPACE_ref;?></a></li>
						</ul>
					</li>				
				</ul>
			</li>
			<li><a href="#" class="daddy"><?php echo ESPACE_PRO_3;?></a>
				<ul>
					<li><a href="#"><?php echo ESPACE_PRO_3_1;?></a>
					    <ul>
		                    <li><a href="#"><?php echo ESPACE_gal;?></a></li>
							<li><a href="#"><?php echo ESPACE_ref;?></a></li>
						</ul>					
					</li>
				</ul>
			</li>
		</ul>
	</li>

	<li><a href="#"><?php echo ESPACE_GP; ?></a>
		<ul>
			<li><a href="index.php?rubrique=mapage4" class="daddy"><?php echo ESPACE_GP_1;?></a>
				<ul>
					<li><a href="#"><?php echo ESPACE_gal;?></a></li>
					<li><a href="#"><?php echo ESPACE_ref;?></a></li>
				</ul>
			</li>
		</ul>
	</li>

	

    <li><a href="#"><?php echo ESPACE_SAV; ?></a>
		<ul>
		  <li>
		     <a href="index.php?rubrique=mapage4" class="daddy"><?php echo ESPACE_SAV_1;?></a>
		  </li>	  
	      <li>
		     <a href="index.php?rubrique=mapage4" class="daddy"><?php echo ESPACE_SAV_2;?></a>
		  </li>	 
	      <li>
		     <a href="index.php?rubrique=mapage4" class="daddy"><?php echo ESPACE_ref;?></a>
		  </li>	
	    </ul>			
    </li>	
</ul>
</div>
<div id="base">
<div id="menu_vert">
<div class="sidebar">
    <a href="#">nous contacter</a></div>
<div class="sidebar">
    <a href="#">qui sommes nous</a></div>
<div class="sidebar">
    <a href="#">actualités</a></div>
<div class="sidebar">
    <a href="#">plan d'accès</a></div>
<div class="sidebar">
    <a href="#">qualifications<br />
    partenariat<br />
    assurances</a></div></div>
	
[b]<?php include("centre.php");?>[/b]
</div>  
</div>

[b]////contenu///[/b]
<div id="contenu">
<div class="titre">espace professionnels</div>
<div class="block_infos">
Au service des professionnels, la société Kuthe.sa répond aux attentes les plus pointues:
 réfrigération, climatisation, filtration et ventilation sont nos principales activités
</div>
</div>


qui donne au finalAu service des professionnels, la société Kuthe.sa répond aux attentes les plus pointues: réfrigération, climatisation, filtration et ventilation sont nos principales activités
Modifié par phpCbien (14 Sep 2007 - 09:37)
c'est po grave, je fous mes textes dans des constantes que j'incorpore
dans mes balises:
style:<div id="contenu">
<div class="titre">espace professionnels</div>
<div class="block_infos"><?php echo TXT_ACCUEIL_PAGE1;?>
</div>
</div>
apparement, le texte brut c démodé voire déconseillé avec tous ces problèmes d'encodage Smiley lol
Bon, soyons un peu méthodique.

Pour commencer, il faudrait que tu édites tes deux messages ci-dessus pour baliser correctement ton code avec les balises [ code] et [ /code] (sans les espaces), sinon ça va pas la faire. Smiley langue

Ensuite, tu déclares de l'iso-8859-1 via ta balise META. Fort bien, disons que tout sera en iso-8859-1. Donc:
- ton serveur déclare de l'iso-8859-1 via les en-têtes HTTP (bien), ou alors ne déclare aucun encodage (passable);
- tous tes fichiers sont en iso-8859-1, et pas en UTF-8 avec BOM, ni en UTF-8 sans BOM, ni en MacRoman, ni en Windows-1252, ni en SHIFT-JIS, ni en quoi que ce soit d'autre que iso-8859-1;
- ta base de données est en iso-8859-1, et les données que tu y récupères également.

Est-ce que tout ça est ok?
j'ai eu le même problème que phpCbien avec un fichier php enregistré en utf-8 sans BOM coché et un template en iso-8859-1

voilà comment j'ai résolu le problème :
1) repérer le fichier incriminé
2) sélectionner tout le code et le coller dans le bloc note
3) jeter le fichier incriminé
4) créer un nouveau fichier et coller le code

comment perdre une demie heure à rechercher "" dans ses fichiers Smiley sweatdrop