Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour,
Les champs de ma base sont en latin1_swedish_ci mais les données contenues dans la base sont en utf-8.
Résultat, quand je veux sauvegarder la base, les caractères accentués sont transformés en é dans le dump.
J'ai du mal à croire que je puisse être le seul dans ce cas, mais j'ai beau fouiller, je ne parviens pas à trouver une solution !
Si quelqu'un sait comment résoudre ce problème, ça m'aiderait beaucoup...
Hors ligne
Bonjour,
1) soit tu changes la collation générale de ta base de données et tu utilises la collation par défaut dans la définition de tes tables
2) soit tu changes la collation de tes tables là où tu en as besoin avec un alter table
3) soit tu crées tes tables avec la bonne collation directement.
Ensuite tu peux importer tes données dans tes tables en utf8
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Bonjour,
Merci pour ton aide.
En fait, ce qui est étrange, c'est que bien que les caractères soient transformés dans PHPMyAdmin et dans le dump, tout fonctionne bien au niveau du site !
Est-ce que c'est un problème de laisser comme c'est ?
Je dois dire que je reste un peu perdu.
Dernière modification par tropicalmadness (07-12-2011 17:23:49)
Hors ligne
Bonsoir,
Oui parfois pour certains le hasard fait bien les choses
Pour répondre à ta question, non ce n'est pas un problème, mais si tu veux mon avis, vaut mieux maîtriser ce que l'on a à gérer au plus tôt, car plus on attends, plus quand ça nous lâche on est d'autant plus dans la m....
++
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Bonjour,
En fait tu travailles partout en UTF8 visiblement sauf dans tes tables qui ont une autre collation. Donc quand tu stockes du texte à l'intérieur, le texte encodé en UTF8 est stocké en UTF8 dans une table qui est définie dans une autre collation qui visiblement ne crée pas de déperdition de données par rapport à ton choix. Donc du coup le dump ne te rends pas ce que tu y mets. Par contre quand tu récupères tes données, comme tout est en UTF8 tu retrouves les données dans leur état initial à l'affichage.
Ce qu'il faut savoir c'est que parfois même lorsque l'on travaille en UTF8 il peut être judicieux de faire des recherches en full text dans une autre collation qui augmente les perfs de tes recherches dans un contexte de volumétrie moyenne voire importante. A ce moment là, et pour les tables concernées, il est nécessaire au niveau de ta table de convertir la collation de tes données à l'enregistrement et à l'extraction via un CAST par exemple. Attention cependant ces conversions selon le contexte de collation de départ et celui d'arrivée peut provoquer une perte de données (collation étendue -> collation simple). Il est préférable avant d'opter pour ce genre de techniques souvent indispensables de consulter la documentation pour vérifier tout ceci au préalable.
Cordialement,
Jc
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Bonjour Jc,
J'ai finalement décidé de passer tous les latin1_swedish_ci en utf8, tout semble fonctionner correctement...
Merci pour la précision de tes explications. Maintenant que j'ai des backup solides, on va pouvoir faire des tests d'optimisation !
Cordialement,
Hors ligne
Pages :: 1