OVH Community, votre nouvel espace communautaire.

Problème de session php


wolkam
25/08/2009, 19h27
@gaston phone : BOM, c'est un type d'encodage d'UTF8 qui rajoute un caractère ivisible devant chaque ligne, et parfois, notamment quand tu fais une redirection d'entête tu as un message d'erreur qui te dit qu'il ne faut pas que l'entête ai déjà été envoyée. Si c'est le cas, cela peut-être parce que tu encode en UTF8 avec BOM, il faut alors réencoder en UTF8 sans BOM. Un éditeur comme notepad ++ le permet et te dit comment est encoder ta page.

@S4RuM4N: merci pour la routine, mais finalment, j'ai trouvé mon bug, il y avait dans la base config de mon forum un paramètre que j'avais oublié de modifier lors de la migration sur mon serveur, c'est le nom de domaine de cookie. Le plus traitre dans l'histoire c'est que cela à fonctionné quelque temps, sans doute allait-il lire le cookie sur mon PC qui pointait vers l'ancien nom de domaine qui fonctionne toujours.

Voilà, quoi qu'il en soit, ça fonctionne maintenant, et tout le site et la BDD fonctionne en UTF8. Je ne savais pas que PHP ne supportait pas cet encodage en Natif, je ne sais pas ce que cela implique, mais bon là ça marche quand même.

S4RuM4N
25/08/2009, 01h37
Keupain Google me dit ca : http://fr.wikipedia.org/wiki/Byte_Order_Mark

Pour la petite remarque, le support d'UTF8 en PHP natif ne sera supporté qu'a partir de PHP6. Si tu veux repasser en ISO, c'est rapidement realisable avec un petit coup de bash:
Code:
#!/bin/bash
for i in $*; do
  echo -n "$i : "
  if [ -d $i ]; then
    echo "Directory"
    $0 "$i/*"
  else
    CHARSET_ACTUAL="$(file -i $i | awk '{print $3}'|cut -c 9-)"
    FILETYPE="$(file -i $i | awk '{print $2}' )"
    CHARSET_WANTED="utf-8"

    echo -n "File "
    if [ "$CHARSET_ACTUAL" != "$CHARSET_WANTED" -a "${FILETYPE:0:4}" == "text" -a "$CHARSET_ACTUAL" != "" -a "$CHARSET_ACTUAL" != "unknown" ]; then
      echo -n "from $CHARSET_ACTUAL to $CHARSET_WANTED"
      iconv -f $CHARSET_ACTUAL -t $CHARSET_WANTED $i > $i.$CHARSET_WANTED
      mv $i $i.$CHARSET_ACTUAL
      mv $i.$CHARSET_WANTED $i
    fi
  fi
  echo
done
Change juste la variable CHARSET_WANTED par iso-8859-1, et ca devrait aller.


Sinon, utilisant mon propre serveur, je ne peux pas t'aider plus que ca. Bon courage quand meme

Gaston_Phone
24/08/2009, 18h30
Qu'est-ce que BOM ?

wolkam
24/08/2009, 17h14
Apparement je ne suis pas le seul mais depuis ce midi, mon site ne gère plus les sessions. mon forum phpbb ne permet plus de se loguer, ni mon site. tout marchait bien ce matin puisque j'ai travaillé sur les deux, et la plus rien. Comme j'ai deja eu des problèmes chez mon ancien hébergeur, j'ai une page toute prète pour voir ci cela viens des sessions et c'est bien le cas.

Mon site est en UTF8 sans BOM, et cela marche depuis plus de 15 jours sans aucun pb, donc je ne pense pas que cela vienne de ça, ou alors quelque chose à changé dans la config des serveurs, auquel cas, je ne dois pas être le seul à avoir des problèmes. Je ne tiens pas à repasser tout mon site en ISO, donc si certain on des infos, laissez moi un message.

Dans des archives du forum j'ai trouvé que certains recréaient un dossier cookies dans leur répertoire principal, est-ce que certain ont essayé cette solution ?

Merci, si vous avez la moindre idée qui puisse me dépanner, je suis preneur. Je viens de prendre mon hébergement donc je ne connais pas trop les façon de se dépatouiller chez OVH.