Précédent   Forum des professionnels en informatique > PHP > Outils > phpMyAdmin
phpMyAdmin Forum d'entraide sur l'outil phpMyAdmin : installation, utilisation, etc. Avant de poster -> Cours phpMyAdmin
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 07/05/2008, 23h16   #1
Invité régulier
 
Inscription : décembre 2007
Messages : 20
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 20
Points : 7
Points : 7
Par défaut PMA, utf8 (2.8 et 2.11) et contenu de bases

Bonjour

J'explique la situation :
- j'ai des pages (de saisie et d'affichage) en utf8 que j'ai écrites
- ma base de données
Tant que j'accède à ma base via mes scripts (en lecture et en écriture), je n'ai absolument aucun souci.

Par contre, quand j'accède au contenu de ma base via PMA, ça ressemble très fort au résultat d'un double encodage en utf8.
Donc résultat inexploitable dans PMA.

J'ai remarqué que si je fais un export compressé et que je réimporte derrière, c'est bon. Par contre, de fait l'export texte c'est la cata au niveau de l'encodage.

Dans quelles directions faut-il regarder pour corriger ça ?

J'ai lu ce fil : http://www.developpez.net/forums/sho...=105647&page=2
Est-ce à comprendre qu'il faut indiquer mysql_query("SET NAMES 'UTF8'") systématiquement dans toutes ses pages (de requête) en php ?
Je n'ai trouvé aucune autre trace de ça ailleurs. Rien dans la doc php.

Les solutions préconisées avant dans le même fil laissent penser à un patchage de PMA :\ ça me paraît douteux sur un souci qui doit être plus que courant non ?

Bref, un peu largué, donc toutes infos bienvenues

Nico
nicolas.poulain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/01/2009, 18h59   #2
Membre régulier
 
Inscription : avril 2003
Messages : 335
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 335
Points : 82
Points : 82
J'ai exactement le même soucis.
dorian53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2009, 00h46   #3
Rédacteur/Modérateur
 
Avatar de Siguillaume
 
Homme Guillaume SIGUI
Chef de projet en SSII
Inscription : août 2007
Messages : 2 388
Détails du profil
Informations personnelles :
Nom : Homme Guillaume SIGUI
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2007
Messages : 2 388
Points : 3 177
Points : 3 177
Envoyer un message via Yahoo à Siguillaume Envoyer un message via Skype™ à Siguillaume
Bonjour,
comment avez-vous créer vos bases? via PMA? avec quel encodage?
__________________
Un gros problème est la somme de plusieurs petits problèmes.
Resolvez chacun des petits problèmes: vous aurez resolu le gros problème!
Mes tutos || Mon blog || Développeurs ivoiriens
Siguillaume est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2009, 18h08   #4
Membre régulier
 
Inscription : avril 2003
Messages : 335
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 335
Points : 82
Points : 82
A l'aide d'un script SQL, la base, les tables, et les champs sont en utf8.

Avec SET NAMES 'UTF8' ça fonctionne mais comment indiquer cet encodage par défaut pour toutes les transactions.
dorian53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2009, 18h26   #5
Rédacteur/Modérateur
 
Avatar de Siguillaume
 
Homme Guillaume SIGUI
Chef de projet en SSII
Inscription : août 2007
Messages : 2 388
Détails du profil
Informations personnelles :
Nom : Homme Guillaume SIGUI
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2007
Messages : 2 388
Points : 3 177
Points : 3 177
Envoyer un message via Yahoo à Siguillaume Envoyer un message via Skype™ à Siguillaume
Citation:
Envoyé par dorian53 Voir le message
comment indiquer cet encodage par défaut pour toutes les transactions.
Que définis-tu par transaction?
__________________
Un gros problème est la somme de plusieurs petits problèmes.
Resolvez chacun des petits problèmes: vous aurez resolu le gros problème!
Mes tutos || Mon blog || Développeurs ivoiriens
Siguillaume est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2009, 18h48   #6
Membre régulier
 
Inscription : avril 2003
Messages : 335
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 335
Points : 82
Points : 82
Citation:
Envoyé par Danjos Voir le message
Que définis-tu par transaction?
J'emploie le terme de transaction pour désigner un échange avec la base de données.

En gros, je voudrais qu'avec telle base le jeu de caractères de la connexion soit utf-8 par défaut.
dorian53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2009, 22h28   #7
Rédacteur/Modérateur
 
Avatar de Siguillaume
 
Homme Guillaume SIGUI
Chef de projet en SSII
Inscription : août 2007
Messages : 2 388
Détails du profil
Informations personnelles :
Nom : Homme Guillaume SIGUI
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2007
Messages : 2 388
Points : 3 177
Points : 3 177
Envoyer un message via Yahoo à Siguillaume Envoyer un message via Skype™ à Siguillaume
Citation:
Envoyé par dorian53 Voir le message
J'emploie le terme de transaction pour désigner un échange avec la base de données.

En gros, je voudrais qu'avec telle base le jeu de caractères de la connexion soit utf-8 par défaut.
Je n'arrive toujours pas à comprendre ce que tu veux faire:
- s'agit-il de gérer les imports/exports?
-s'agit-il des requêtes courantes faites sur une BD (ajout, modification, selection, suppression)?
__________________
Un gros problème est la somme de plusieurs petits problèmes.
Resolvez chacun des petits problèmes: vous aurez resolu le gros problème!
Mes tutos || Mon blog || Développeurs ivoiriens
Siguillaume est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2009, 19h17   #8
Membre à l'essai
 
Inscription : janvier 2007
Messages : 55
Détails du profil
Informations personnelles :
Âge : 54

Informations forums :
Inscription : janvier 2007
Messages : 55
Points : 20
Points : 20
Bonjour,

J'ai exactement le même problème, depuis très longtemps.

La base contient certainement de l'UTF-8.

Les caractères accentués sont bien affichés par SPIP configuré en UTF-8, ou même par un script php minimal :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<HTML><HEAD></HEAD>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<BODY>
<?php
error_reporting(E_ALL);
$mysql_link = mysql_connect ( 'serveur','user','motdepasse','bdd');
echo '<br>connecté !<br>';
$mysql_result = mysql_query( 'SELECT titre FROM spip_articles WHERE id_article=8', $mysql_link);
$row = mysql_fetch_row($mysql_result);
mysql_close ( $mysql_link );
print_r ($row);
?>
</BODY>
Par contre phpMyAdmin (2.1 ou 3.1.2) avec UTF-8 sélectionné, affiche les caractères accentués sous forme de doublets ( "é" à la place de "é", par exemple) et exporte également les données ainsi. Les entêtes de page contiennent cependant bien la balise META comme ci-dessus.

Ceci se produit sur plusieurs serveurs, avec MySql 4 ou 5, php4 ou php5.

J'ai l'impression que c'est un problème avec phpMyAdmin qui encode ou décode une fois de trop...

Faudrait-il se plonger dans le code de phpMyAdmin ?

Un truc qui m'étonne est que dans les instructions envoyées à MySql SET NAME, et consoeurs, on trouve parfois UTF-8 et d'autres fois UTF8 sans tiret...

Merci pour vos suggestions !
martin45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2009, 14h13   #9
Rédacteur/Modérateur
 
Avatar de Siguillaume
 
Homme Guillaume SIGUI
Chef de projet en SSII
Inscription : août 2007
Messages : 2 388
Détails du profil
Informations personnelles :
Nom : Homme Guillaume SIGUI
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2007
Messages : 2 388
Points : 3 177
Points : 3 177
Envoyer un message via Yahoo à Siguillaume Envoyer un message via Skype™ à Siguillaume
Bonjour,
effectivement phpmyadmin a des problèmes pour afficher des caractères qui n'ont pas été insérés via son interface. Mais je crois que là n'est pas le plus important.
Ce qui importe, c'est de pouvoir afficher sur le site, de façon correcte les caractères.
Le problème qui se pose alors, c'est l'import/export d'un serveur à un autre. C'est à ce niveau qu'il faudrait s'assurer que le même encodage utiliser pour l'import est le même que celui de l'export.
En plus, il faudrait aussi s'assurer que la version de phpmyadmin utilisée pour l'import est la même ou antérieure à celle de l'export.

Bon courage!
__________________
Un gros problème est la somme de plusieurs petits problèmes.
Resolvez chacun des petits problèmes: vous aurez resolu le gros problème!
Mes tutos || Mon blog || Développeurs ivoiriens
Siguillaume est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h45.


 
 
 
 
Partenaires

Hébergement Web