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 01/03/2007, 12h53   #1
Membre régulier
 
Inscription : février 2007
Messages : 483
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 483
Points : 75
Points : 75
Par défaut Comment changer le jeu de caractères d'une base ?

Bonjour,

j'ai un hébergement chez OVH pour lequel j'ai droit à une base.
Elle est déjà créee est est en utf-8.
Mais j'aurais besoin qu'elle soit en latin 1…
comment faire ça ?


Avec PHP MyAdmin, je peux agir sur l'interclassement pour la connexion MySQL et pour chacune des tables mais la base reste :
Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)

Merci pour votre aide !
Mister Paul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2007, 13h02   #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
Code :
ALTER DATABASE charset latin1
Pour les détails, cf mon article en signature.
__________________
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 01/03/2007, 17h06   #3
Membre régulier
 
Inscription : février 2007
Messages : 483
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 483
Points : 75
Points : 75
Merci pour ta réponse.

J'ai fait :
ALTER DATABASE ma_base DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci;

Mais je n'ai pas l'impression que ça ai fonctionné car :

j'ai réimporté l'export de ma base locale sur le serveur OVH.
Et je vois les caractères accentués affichés comme ça : èé
C'est à dire que la base lit en UTF-8 des caractères Latin, non ?

Je vois toujours pour la base :
Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)
Mais, ça c'est peut-être normal ?
Mister Paul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2007, 22h52   #4
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
c'est normal, le jeu de la base n'est que le jeu par défaut des nouvelles tables, qui n'est lui-même que le jeu par défaut des nouvelles colonnes...

Il ne faut pas non plus convertir (ALTER TABLE... CONVERT ou ALTER TABLE MODIFY COLUMN...), car les erreurs seront converties aussi.

C'est relativement compliqué et je n'ai pas du tout le temps de rédiger les explications détaillées, mais en gros tu as deux solutions :

- détruire tes données et les réimporter en précisant qu'elles sont en utf8 (quel que soit le jeu des bases/tables/colonnes de destination)

- ou alors garder tes données, passer chacune de tes colonnes TEXT ou VARCHAR en BLOB, puis les repasser en TEXT/VARCHAR CHARSET utf8

Pour + de détails, cf mon article.
__________________
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 02/03/2007, 00h06   #5
Membre régulier
 
Inscription : février 2007
Messages : 483
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 483
Points : 75
Points : 75
Citation:
détruire tes données et les réimporter en précisant qu'elles sont en utf8 (quel que soit le jeu des bases/tables/colonnes de destination)

Impec ! Merci.
Mister Paul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2007, 04h19   #6
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
Citation:
Envoyé par Mister Paul
Et je vois les caractères accentués affichés comme ça : èé
C'est à dire que la base lit en UTF-8 des caractères Latin, non ?
non, c'est exactement le contraire
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun 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 18h47.


 
 
 
 
Partenaires

Hébergement Web