[supprimé]
Bonjour,
J'ai installé MySQL 4(serveur et client avec les RPM) sur ma nouvelle FC2 (installé en français).
Je me suis créé un user, une base de données, des tables; jusque là tout va bien.
Je dispose d'un fichier SQL de requête SQL qui contient des chaines comportant des caractères accentués (par exemple : INSERT INTO ma_table VALUES ("énnorme")😉
1 - Lorsque j'exécute ce fichier avec le client (via un . monfichier.sql) dans un terminal, et que j'affiche le contenu de la table (via un SELECT * ...), aucun caractère accentué n'apparait, ils sont tous remplacé par un "_".
2 - Je me suis fait un programme en Java qui charge le fichier dans la base de données : même résultat.
3 - Par contre, si je tappe dans le client la requête INSERT..., là, les caractères accentués s'affichent.
J'ajouterai que les caractères accentués de mon fichier apparaissent bien avec le logiciel gedit.
Question : Ai-je manqué quelque chose lors de l'installation de MySQL ?
Ai-je mal configuré la langue du système lors de l'installation ?
Bref, j'y perd un peu mon latin, surtout que Google ne m'a pas vraiment aidé sur ce point...
Merci d'avance
A+ / Fabrice
skydiverss
J'ai eu un pb similaire, quand tu edite ton fichier en console, as tu les accents ?
Il se peux que cela viennent d'un pb de formatage de ton fichier
[supprimé]
Le fichier a été créé sous Windows.
J'ai fait un vi de mon fichier.
Les accents apparaissent. Par contre, j'ai des ^M en fin de ligne.
Après recherche dans la doc de MySQL. Il semblerai que la configuration par défaut accepte les accents.
Je désespère d'arriver à configurer ce truc...
F.
skydiverss
Ne cherche pas plus loin le probleme est la. Comme moi le fichier avait été créé sous windows.
Il faut que tu recréé ton fichier sous linux
celmir
par curiosité n'aurais-tu pas transféré ton fichier via ftp entre ta machine win$ et linux ? :idea:
[supprimé]
Euh, non. J'ai utilisé ma clef USB.
F.
[supprimé]
Mmmmh... Ca m'arrange pas, j'ai une quinzaine de fichiers SQL qui doivent faire un total de 1.26 Mo de données (écrite mannuellement).
Donc, ce n'est guère possible. Par contre, la piste est intéressante. Il faut donc que je "traduise" ces fichiers.
A coup sûr, j'utilise un encodage bizzaroïde qui n'est pas reconnu comme tel sous Linux.
Tiens, sous UltraEdit (sous Windows), j'ai une commande "DOS vers Unix".
Je vais regarder ce que cela donne.
Merci pour le tuyau.
F.
[supprimé]
Suite de mon enquête...
J'ai trouvé :
Le terminal possède plusieurs possibilités de codage des caractères. Par défaut, c'est UTF-8.
En passant à ISO-8859-1, j'ai résolu un premier problème :
Les accents situés dans les fichiers de requêtes SQL sont bien transmis comme tel à MySQL qui les stocke correctement.
Lors de l'affichage tout va bien.
🙂))
Merci pour votre aide (indirecte)... 😉
F.
Phoenix818
solution:
htmlentities() dans un script php te converti les accentués en format html "valide", autement du les é et autres....
plus de prob d'encodage, parce que ça, utf8 ou iso, ca passe...