Problème d'encodage.

Problème d'encodage. - HTML/CSS - Programmation

Marsh Posté le 11-01-2013 à 12:06:12    

Bonjour, j'ai écrit une CGI avec Ada qui lit deux fichiers de données pour remplir deux liste de texte.
 
J'ai un problème à l'affichage de ces texte,
Mes deux fichier sont en utf8
Dans mon entête j'ai :

<meta charset="UTF-8">


Mais dans les mots accentués, je me retrouve avec par exemple "anesthésier"
 
Si je donne un fichier ISO-8859 j'ai des ? à la place des caractère accentué.
 
Vous auriez une solution ?
 
Merci.

Reply

Marsh Posté le 11-01-2013 à 12:06:12   

Reply

Marsh Posté le 11-01-2013 à 12:20:18    

Bonjour j'ai testé avec un Charset="iso-8859-1" ça marche, j'ai du réécrire mes page avec les &?acute et grave et consort, qui vont bien.

Reply

Marsh Posté le 11-01-2013 à 14:52:11    

Pour tout avoir en utf8, l'encodage qui compte est celui qu'utilise ton serveur de pages (apache par ex). Ensuite en déclarant l'encodage des pages html en utf8 ça doit marcher. C'est dommage de niquer les accents du texte pour ça.

Reply

Marsh Posté le 11-01-2013 à 15:37:12    

Vérifier l'encodage retenu par ton navigateur.
Sous Firefox par exemple : affichage > encodage des caractères
Éventuellement, le changer dans ce menu pour voir s'il y en a un autre qui affiche correctement les caractère spéciaux.

 

Après, deux cas :

 
  • C'est juste ton navigateur qui ne tiens pas compte de ton HTML. Dans ce cas c'est probablement un header envoyé par apache (ou autre serveur web) qui force cet encodage.


Tu peux régler ça avec un .htaccess :

Code :
  1. AddDefaultCharset utf-8
 

A noter également que la bonne syntaxe HTML pour spécifier l'encoding de la page serait plutôt :

Code :
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 
  • Ou alors, même en changeant l'encoding sur le navigateur tu ne parviens pas à afficher les caractères accentués, dans ce cas il doit y avoir un problème en amont. Les sources de données ne sont peut être pas en UTF8 par exemple. Peut être des fonctions qui traitent ton texte et qui ne sont pas compatibles avec UTF8...

Message cité 1 fois
Message édité par dwogsi le 11-01-2013 à 15:38:32

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 11-01-2013 à 15:45:52    

Mon site était en UTF8 avant est tout fonctionnait très bien.
J'ai modifier ce site en vu d'exploiter par les éléments textuel qui son d'orgine au format ISO-8859.
J'ai donc,  
 
Invoquer iconv  --from-code=ISO-8859-1 --to-code=UTF-8 source > destination
Puis j'ai compilé ma cgi écrite avec Ada avec gnatmake -gnatW8
 

gelatine_velue a écrit :

Pour tout avoir en utf8, l'encodage qui compte est celui qu'utilise ton serveur de pages (apache par ex). Ensuite en déclarant l'encodage des pages html en utf8 ça doit marcher. C'est dommage de niquer les accents du texte pour ça.


 
C'est fait, ça m'a pris cinq minutes, merci.

dwogsi a écrit :

Vérifier l'encodage retenu par ton navigateur.
Sous Firefox par exemple : affichage > encodage des caractères
Éventuellement, le changer dans ce menu pour voir s'il y en a un autre qui affiche correctement les caractère spéciaux.
 
Après, deux cas :
 

  • C'est juste ton navigateur qui ne tiens pas compte de ton HTML. Dans ce cas c'est probablement un header envoyé par apache (ou autre serveur web) qui force cet encodage.


Tu peux régler ça avec un .htaccess :

Code :
  1. AddDefaultCharset utf-8


 
A noter également que la bonne syntaxe HTML pour spécifier l'encoding de la page serait plutôt :

Code :
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">


 

  • Ou alors, même en changeant l'encoding sur le navigateur tu ne parviens pas à afficher les caractères accentués, dans ce cas il doit y avoir un problème en amont. Les sources de données ne sont peut être pas en UTF8 par exemple. Peut être des fonctions qui traitent ton texte et qui ne sont pas compatibles avec UTF8...


Peut-être un prochaine fois, merci pour les infos.  :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed