IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

Encodage de caractères .. encore !


Sujet :

SQL Procédural MySQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3
    Par défaut Encodage de caractères .. encore !
    Bonjour,

    J'ai deux sites web en cours de migration :
    - un chez Free, il s'agît d'un phpBB, BD MySQL en latin1_general_ci chez Free.
    - l'autre sur un linux dédié chez moi, c'est CMS (Xoops), BD MySQL latin1_general_ci en local.

    J'ai du migrer l'ensemble chez un ami, sur un serveur linux que j'ai monté. la configuration est absolument identique à celle de mon serveur linux.

    Le gros souci, vous l'avez compris, c'est que je me retrouve avec des caractères bizarres à la place des caractères accuentés : les é deviennent é par exemple.
    En revanche, le plus bizarre, est que certaine partie du phpBB apparaissent correctement, voir l'image ci-dessous :


    Je précise que je passe par phpMyAdmin pour faire mes backups, Free oblige.

    Autre précision, Firefox détecte de l'ISO-8859-1 pour deux sites webs, si je les passe en UTF-8, les caractères d'affichent correctement, enfin par tous, ceux qui s'affichent bien sur l'image ci-dessus, se transforme en ? dans un petit losange, comme le confirme cette image :


    J'ai essayé pas mal de chose, comme changé l'encodage pour la connexion dans phpMyAdmin, supprimer les déclaration character set et collate dans le backup SQL, créer la base d'abord dans un encodage particulier etc ...

    Je commence à saturer, le plus drôle est qu'avant mon xoops était chez Free et j'ai eu le même problème, mais impossible de me souvenir comment j'ai fait.

    Est-ce un problème MySQL, PHP ou Apache ??

    Merci pour votre aide.



    (Modérateurs : je n'étais pas sûr de savoir où poster, déplacez ce sujet au bon endroit si cela pose un problème, merci)

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 287
    Par défaut
    En gros, ton "présentez-vous" est en utf8, et est lu comme du latin1. Par contre, ton "modérateur" est bien du latin1 (d'où le fait qu'il déconne quand tu affiches la page en Unicode).

    As-tu essayé la fonction PHP utf8_decode() ?

    Si ça ne marche pas, il ne reste plus qu'à chercher dans quelle table et colonne est stocké le "présentez-vous", et à la repasser en latin1.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3
    Par défaut
    Merci pour cette réponse.

    Je n'ai pas essayé de modifié le code puisqu'il s'agît de phpBB, et me plonger dedans me prendrai du temps que je n'ai pas.

    Le "modérateur" doit être issu d'un script php et n'est donc pas stocké en base, du moins c'est ce que je crois.

    Comment puis-je alors convertir toutes les données stockées en base en latin1 ? Sachant que les tables sont en déjà interclassement latin1_general_ci ...

    Pire j'ai même des problèmes pour poster des nouveaux messages contenant des accents sur phpBB.
    Sur Xoops, l'ajout de post avec accents fonctionne mais, les caractères accuentés se transforment en "?"

    Autre remarque, sous phpMyAdmin, tout est parfaitement normal en utilisant UTF-8 pour la connexion.

    J'avoue être totalement dépassé par la situation.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3
    Par défaut
    J'ai trouvé le problème, j'avais une erreur de configuration pour MySQL.

    Je suis sous Gentoo, et j'avais fais une faute de frappe dans le fichier package.use :J'ai donc remplacé ce malheureux "b" en "v" et j'ai recompiler MySQL, pour qu'il prenne en charge latin1.

    Tout est rentré dans l'ordre.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Encore un problème d'encodage de caractéres
    Par Memelo dans le forum Administration
    Réponses: 0
    Dernier message: 07/10/2010, 10h53
  2. Encodage de caractère. . . encore
    Par ePoX dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 11/08/2006, 11h13
  3. Réponses: 15
    Dernier message: 24/02/2006, 14h17
  4. [FLASH 8] Encodage de caractères...
    Par Xdrei dans le forum Flash
    Réponses: 1
    Dernier message: 24/02/2006, 07h44
  5. encodage de caractères
    Par hugo123 dans le forum Langage
    Réponses: 7
    Dernier message: 25/01/2006, 15h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo