web-dev-qa-db-fra.com

Sortie de page en caractères étranges

Apparemment, beaucoup de gens se plaignent de ne voir que des lettres et des caractères aléatoires:

enter image description here

Mon plus gros problème est que je ne peux pas reproduire le problème sur AUCUN de mes appareils! Pas sur mon ordinateur portable Windows XP, ni sur mon ordinateur portable Windows 7, ni sur mon téléphone Android ou mon iPod Touch. Peu importe le navigateur que j'utilise. Le seul problème que je vois moi-même, c’est lorsque j’essaie de partager un de mes articles sur Google+, car la description du blog apparaît alors en caractères étranges.

Donc, tout d’abord je dois trouver un moyen de reproduire le problème d’une manière ou d’une autre. Sinon, je ne pourrai pas voir si ce que j'ai fait a résolu le problème ou non.

J'ai fait tout ce que @toscho avait recommandé, mais rien n'y fait.

Est-ce que quelqu'un a déjà rencontré un problème similaire ou savez-vous où je pourrais commencer à chercher le problème?

Edit: J'ai contacté mon hébergeur. Ils ne pouvaient pas reproduire le problème, tout comme moi. Ils ont déclaré avoir activé la compression gzip sur leurs serveurs. Ils ont suggéré d'éteindre un plugin après l'autre pour voir ce qui se passe, mais comme je ne peux pas reproduire le problème, je ne peux pas le faire. S'il vous plaît aider!

De plus en plus de lecteurs se plaignent de ce problème. La plupart d'entre eux ont simplement besoin d'actualiser la page ou d'attendre quelques minutes, puis le site se charge normalement, mais j'utilise toujours beaucoup de trafic à cause de cela.

EDIT 2: Le plugin W3 Total Cache FAQ dit: Je vois des caractères illisibles au lieu du site Web normal, que se passe-t-il ici?

Si un thème ou ses fichiers utilisent l'appel php_flush () ou la fonction flush () qui interfère avec le fonctionnement normal des plugins; faire en sorte que le plugin envoie les fichiers en cache avant la fin des opérations essentielles. L'appel flush () n'est plus nécessaire et doit être supprimé.

Je suis à peu près sûr qu'aucun code de mon téléphone ne passe cet appel ailleurs, mais je ne suis pas sûr à 100%. Existe-t-il un moyen de découvrir autre chose que de rechercher des millions de caractères dans tous mes fichiers?

4
japanworm

Commençons par le résultat obtenu avant le correctif:

enter image description here

Que s'est-il passé ici? Mon suppose: une collision entre le plugin W3 Total Cache et votre serveur Web LiteSpeed ​​ . J'ai trouvé un fil dans un forum Drupal sur un problème très similaire (ou le même).

LiteSpeed ​​ne semble pas envoyer les en-têtes HTTP appropriés pour les fichiers de cache compressés stockés par W3TC. Dans son changelog pour la version 0.9.2.4 W3TC dit:

Prise en charge fixe du serveur Web LiteSpeed

Donc, le problème semble être connu, et une mise à niveau devrait résoudre le problème.

Si la mise à niveau n'a pas aidé…

  • Demandez à votre hébergeur. Vous payez pour le soutien, et personne ne connaît mieux les internes.
  • Ou ajouter…

    AddType application/x-gzip .gz .tgz
    AddEncoding x-gzip .gz .tgz
    

    … À votre .htaccess pour voir si cela aide.

  • Ou désactivez la compression gzip dans W3TC. C'est la dernière option si toutes les autres approches échouent.

Pour tester les résultats, ne vous fiez pas à la sortie du navigateur. Tous les navigateurs utilisent différentes solutions de contournement pour la compression endommagée, vous ne pouvez pas travailler avec cela. Utilisez un outil tel que GIDZipTest pour voir si tout va bien.

7
fuxia

Cela m'est arrivé parce que deux plugins essayaient de compresser la sortie sous GZip. La désactivation du second plugin a résolu le problème.

4
user28511

Indiquez toujours le codage utilisé pour une page HTML ou XML. Sinon, les caractères de votre contenu risquent d'être mal interprétés. Regardez à l'intérieur de votre fichier d'en-tête pour spécifier les paramètres anglais et UTF-8. Voici ce qui est dans mon en-tête:

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
2
Androliyah