Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/10/2007, 12h08   #1
Invité de passage
 
Inscription : 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
Points : 1
Points : 1
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)
bebR31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 12h59   #2
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
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.
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 13h49   #3
Invité de passage
 
Inscription : 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
Points : 1
Points : 1
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.
bebR31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2007, 12h04   #4
Invité de passage
 
Inscription : 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
Points : 1
Points : 1
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.
bebR31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h13.


 
 
 
 
Partenaires

Hébergement Web