Perte de l'affichage des caratères spéciaux du jour au lendemain

Winroc

New Member
#1
Bonjour,

L'affichage des caractères spéciaux sur ma page d'acceuil http://famille-delmas.fr vient de "sauter".
Je m'explique : le à s'affiche � . Depuis 3 ans cette même page affichait correctement les caractères spéciaux (à,é,ù...) et puis sans aucune raison du jour au lendemain l'affichage a changé. Bien sûr j'ai testé sur plusieurs PC et navigateur pour être sûr que cela ne vienne pas de mon environnement client. Pour afficher correctement je suis obligé de dire à mon navigateur que ce n'est pas de l'unicode mais de l'occidentale (manipulation manuelle à faire sur le navigateur c'est embêtant et surtout très moche)
Je pense que quelque chose a très récemment changé (1 ou 2 jours) sur le serveur qui héberge mon site.

c'est aussi le cas de http://famille-delmas.fr/privee mais vous n'avez pas access. Mais ce n'est pas le cas des autre pages http://famille-delmas.fr/proracle, ....

Le point commun entre les pages qui fonctionnent et celles qui ne fonctionnent pas c'est que celle qui ont un problème sont des pages écrites "à la main sous notepad++" donc sans CMS, éditeur de blog ou autre.


Le debut de code de ma page qui ne fonctionne pas:
HTML:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
  <head>
  <title>Site Delmasien</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  <link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
     <link rel="shortcut icon"  href="images/favicon.ico" />
     <link rel="icon" type="image/gif" href="image_accueil_central/delmas32x32.gif" />
     <script type="text/javascript" src="jwplayer.js"></script>

Quelqu'un a t il une idée?

NB: effectivement quand je me connecte en ssh au serveur si j'ouvre les fichiers avec vi les caractères spéciaux ne sont pas clairement lisibles mais je ne sais pas si cela était le cas avant.

Cordialement
 
Dernière édition par un modérateur:

Winroc

New Member
#2
Bon après analyse :

Tous les fichiers sources sont bien en ANSI ou en iso-8859-1 et tous ont dans le header :

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



Mais j’ai remarqué que seules les pages .php étaient affecté pas les pages en .html.

J’ai renommé alors un .php en .html et là micracle la pages c’est bien affichée (mais les parties php ne peuvent évidemment pas s’exécuter) ; tous les accent et caractères spéciaux étaient bien présent.

J’en conclut qu’il y a eu un changement dans la configuration du serveur php de planethoster pour que du jour au lendemain ma 100aine de pages en php qui n’a pas été modifié depuis 3 ans se mettent à ne plus fonctionner correctement dans le serveur php.

La seule parade que j’ai trouvée c’est de convertir toute mes pages php en utf-8 puis de mettre charset=utf-8 à la place de charset=iso-8859-1. Laborieux. Mais ce n'est pas normal si mes pages sont en iso-8859-1 elles devraient s'afficher correctement avec content="text/html; charset=iso-8859-1" . :mad:
 

PH-Gabriel

Administrator
Membre du personnel
#3
Bonjour Winroc,

Ce type de problème peut être lié à PHP ou à MySQL. Si cela est lié à PHP dans votre cas, je vous invite à changer la version de PHP que vous utilisez. PlanetHoster offre un outil appelé "PHP Selector" à fin de faire ceci facilement. Voici comment:

  1. Connectez vous à votre cPanel
  2. Allez sur l'option "Select PHP version"
  3. Par défaut, la version est la version "native". Vous pouvez en choisir une autre. Je vous invite à essayer d'utiliser PHP 5.5
  4. Cliquez sur "Set as current" pour appliquer la modification

Par la suite, vérifiez si cela fonctionne.

Si cela ne fonctionne pas, ceci peut être lié à votre encodage en ISO. Je recommande d'utiliser UTF-8.

La dernière possibilité serait la compatibilité entre vos scripts en MySQL. Nous avons effectué une mise à jour MySQL au courant des dernier mois qui peuvent causer si vos scripts ne sont pas à jour. (Pour plus de détail: https://blog.planethoster.com/migration-de-mysql-vers-mariadb/ )
Je conseil une mise à jour de vos scripts/CMS dans cette situation.

J'espère que ceci va vous aider.

Je reste à votre disposition pour tout renseignement complémentaire.

Cordialement,
Gabriel P.
 

Winroc

New Member
#4
Bonjour PH-Gabriel,
Merci pour votre réponse, avec un peu de retard... euh ma réponse avec un peu de retard... pas la votre ;)

J'avais résolu mon problème en ré-encodant tous mes fichiers php en UNICODE UTF-8 puis en rajoutant dans l'entête charset=utf-8.

Ce problème n'était que sur les pages php écritent à la main (notepad++) sans outil de blog ou de CMS. Et uniquement sur les pages php, les pages statiques html n'avaient aucun soucis et sont toujours en ISO8859-1 avec en entête charset=iso-8859-1 et ne posent aucun problème d'affichages.

Je n'ai/n'avais pas eu besoin de toucher le selecteur php.

Les sites avec du MySQL (ou MariaSQL vu de mon côté c'est transparent) n'ont eu aucun problème.


Cordialement
 
Haut