Prob avec DOCTYPE et <?xml version="1.0" enco
Résolu
midnnight
Messages postés
484
Date d'inscription
Statut
Membre
Dernière intervention
-
midnnight -
midnnight -
Bonjour,
Je bloque un peu, car quand je mets mon DOCTYPE :
<!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="en" lang="en">
Mon site apparait, mais évidemment les accents ne sont pas interprétés, imprimant des carrés à la place d'un "é" ou d'un "à" par exemple...
Toutefois, si j'ajoute :
<?xml version="1.0" encoding="windows-1252"?>
Ou même :
<?xml version="1.0" encoding="UTF-8"?>
là le serveur me répond :
"Parse error: syntax error, unexpected T_STRING in /space/nas00/pro/http/sites..."
Je peux évidemment sûrement réécrire tout le site avec des "é" "à" etc... Mais je voudrais bien éviter ça...
Avez vous la solution svp
par avance merci de votre aide...
Je bloque un peu, car quand je mets mon DOCTYPE :
<!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="en" lang="en">
Mon site apparait, mais évidemment les accents ne sont pas interprétés, imprimant des carrés à la place d'un "é" ou d'un "à" par exemple...
Toutefois, si j'ajoute :
<?xml version="1.0" encoding="windows-1252"?>
Ou même :
<?xml version="1.0" encoding="UTF-8"?>
là le serveur me répond :
"Parse error: syntax error, unexpected T_STRING in /space/nas00/pro/http/sites..."
Je peux évidemment sûrement réécrire tout le site avec des "é" "à" etc... Mais je voudrais bien éviter ça...
Avez vous la solution svp
par avance merci de votre aide...
A voir également:
- Prob avec DOCTYPE et <?xml version="1.0" enco
- Dernière version ccleaner gratuit français - Télécharger - Nettoyage
- Splitcam ancienne version - Télécharger - Messagerie
- Xml download - Télécharger - Édition & Programmation
- Télécharger zuma deluxe 1.0 gratuit - Télécharger - Jeux vidéo
- Ancienne version autocad gratuite - Télécharger - CAO-DAO
8 réponses
C'est à mettre au tout début du fichier.
Si ça ne fonctionne pas, c'est que le fichier n'est pas enregistrer dans l'encodage que tu donnes.
Réenregistre-le correctement en UTF-8, et utilise la balise meta que je t'ai donné plus haut (à mettre dans le head de ta page).
Si ça ne fonctionne pas, c'est que le fichier n'est pas enregistrer dans l'encodage que tu donnes.
Réenregistre-le correctement en UTF-8, et utilise la balise meta que je t'ai donné plus haut (à mettre dans le head de ta page).
Essaye avec cette balise meta :
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />Et vérifie que ton fichier soit bien encodé en UTF-8.
Salut et merci avion f16, mais comme ça ça ne fonctionne pas non plus.
(pas d'erreur côté serveur, mais toujours pas d'accents !) :
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<!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="en" lang="fr">
Ce qui est étrange, c'est que mon fichier est sur le serveur et que mes autres sous domaines n'ont pas ce probleme...
de plus, si je tente une validation w3c, j'optiens cette erreur :
"Error(s) blocking validation"
"Sorry, I am unable to validate this document because on line 226 it contained one or more bytes that I cannot interpret as utf-8 (in other words, the bytes found are not valid values in the specified Character Encoding). Please check both the content of the file and the character encoding indication.
The error was: utf8 "\xEA" does not map to Unicode"
Une idée ? please
(pas d'erreur côté serveur, mais toujours pas d'accents !) :
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<!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="en" lang="fr">
Ce qui est étrange, c'est que mon fichier est sur le serveur et que mes autres sous domaines n'ont pas ce probleme...
de plus, si je tente une validation w3c, j'optiens cette erreur :
"Error(s) blocking validation"
"Sorry, I am unable to validate this document because on line 226 it contained one or more bytes that I cannot interpret as utf-8 (in other words, the bytes found are not valid values in the specified Character Encoding). Please check both the content of the file and the character encoding indication.
The error was: utf8 "\xEA" does not map to Unicode"
Une idée ? please
UP ?!
Personne n'a idée de ce qui ce passe ou ce que je peux faire ?
(pas d'erreur côté serveur, mais toujours pas d'accents !) avec :
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<!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="en" lang="fr">
???
Si ça venait du serveur, les sous domaines en souffriraient aussi, non ? alors que ce n'est pas le cas...
Personne n'a idée de ce qui ce passe ou ce que je peux faire ?
(pas d'erreur côté serveur, mais toujours pas d'accents !) avec :
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<!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="en" lang="fr">
???
Si ça venait du serveur, les sous domaines en souffriraient aussi, non ? alors que ce n'est pas le cas...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je pense que l'erreur PHP s'affiche parce que la directive « short_open_tag » est activée. Tu peux donc mettre du PHP entre « <? » et « ?> ».
Donc écrire « <?xml version="1.0" encoding="UTF-8"?> » reviendrait à écrire « <?php xml version="1.0" encoding="UTF-8" ?> », ce qui pose problème.
Essaye en désactivant cette directive si ton hébergeur t'y autorise (.htaccess ou php.ini), ou bien en faisant un echo :
Donc écrire « <?xml version="1.0" encoding="UTF-8"?> » reviendrait à écrire « <?php xml version="1.0" encoding="UTF-8" ?> », ce qui pose problème.
Essaye en désactivant cette directive si ton hébergeur t'y autorise (.htaccess ou php.ini), ou bien en faisant un echo :
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
Merci, mais malheureusement je n'ai pas accès aux .htaccess ou php.ini, j'ai entré comme tu dis :
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
ce qui donne donc en ligne (dans la source) :
<!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" xml:lang="en" lang="en">
<?xml version="1.0" encoding="UTF-8"?><head>
Mais rien à faire, toujours pas d'acents... J'ai bien peur d'être obligé de me "retaper" toutes les pages avec les entités html=> (é à ê etc...) et y'a un paquet de texte, dur dur...
Le pire c'est qu'un de mes sous domaine fonctionne parfaitement avec ce doctype d'origine :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"html401_loose.dtd">
<html><head>
Etrange, non ?
En fait le site placé en www n'indique pas les acents, mais ce sous domaine lui indique les acents
Un autre sous domaine indique aussi les accents avec ce doctype :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
C'est de la follie, non ?
L'erreur doit être dans le répertoire www... Mais où et pourquoi...(???)
(J'ai rergardé via "filezilla" si je trouvais un fichier malin, je n'ai rien vu...)
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
ce qui donne donc en ligne (dans la source) :
<!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" xml:lang="en" lang="en">
<?xml version="1.0" encoding="UTF-8"?><head>
Mais rien à faire, toujours pas d'acents... J'ai bien peur d'être obligé de me "retaper" toutes les pages avec les entités html=> (é à ê etc...) et y'a un paquet de texte, dur dur...
Le pire c'est qu'un de mes sous domaine fonctionne parfaitement avec ce doctype d'origine :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"html401_loose.dtd">
<html><head>
Etrange, non ?
En fait le site placé en www n'indique pas les acents, mais ce sous domaine lui indique les acents
Un autre sous domaine indique aussi les accents avec ce doctype :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
C'est de la follie, non ?
L'erreur doit être dans le répertoire www... Mais où et pourquoi...(???)
(J'ai rergardé via "filezilla" si je trouvais un fichier malin, je n'ai rien vu...)
OOOps ! J'avais mis ce code plus bas (dans les balises "meta") et je ne m'en rappelais plus=>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
Je l'ai enlevé et remis le doctype comme indiqué, + ré-enregistré avec le bloc-note windows sous UTF 8 et ça fonctionne...
Ouf, j'ai eu une petite frayeur !
Merci à toi !
a++
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
Je l'ai enlevé et remis le doctype comme indiqué, + ré-enregistré avec le bloc-note windows sous UTF 8 et ça fonctionne...
Ouf, j'ai eu une petite frayeur !
Merci à toi !
a++
B'in jai été dans notepad++, paramétrage=>préférences=>Nouveau document, j'ai coché : "UTF-8 sans BOM" j'ai ré-enregistré mon fichier comme ça, à l'upload 'filezilla' me dit qu'il remplace le fichier de 6 736 octets par le nouveau de 6 733 octets, donc 3 octets en moins effectivement; mais toujours l'erreur... Etrange...