Import MySQL et caractères spéciaux [Résolu] [SGBD/SQL] - SQL/NoSQL - Programmation
Marsh Posté le 07-02-2012 à 13:55:53
C'est bon j'ai trouvé !
Il à fallu que j'ouvre le fichier dans un éditeur (j'ai utilisé Notepad++, notepad c'était juste impossible d'ouvrir le fichier de 550Mo ...), et l'enregistrer en ANSI, de là quand je refais l'import par la ligne de commande en forçant l'encodage à UTF-8 et là tout fonctionne comme il faut !
Marsh Posté le 06-02-2012 à 13:25:23
Bonjour,
Je rencontre un petit problème d'encodage lors de la migration d'un site web qui se trouvais sur un serveur mutualisé (très certainement Linux), vers un serveur dédié sous 2008 Serveur.
Le site a dans sa base de donnée, des champs qui comporte des caractères de langue étrangère, ou de symbole type Trademark etc ... sur le mutualisé je n'avais aucun problèmes, et sur le dédié le trademark deviens â„¢ par exemple !
J'ai installé le nouveau serveur
Installé MySQL sans faire de modifications dans le fichier my.ini
Installé PHP sans modifier le php.ini
Installé Phpmyadmin
Importé les fichiers du site web
Puis j'ai récupéré le fichier .sql de la base de donnée (+ de 500Mo), et je l'ai inséré dans la base en ligne de commande
Le résultat n'étant pas bon voici ce que j'ai vérifié:
MySQL -> Dans le fichier my.ini les valeurs que j'avais ou que j'ai ajouté/modifié:
[mysql]
default-character-set=utf8 (déjà configuré comme ça)
[mysqld]
skip-character-set-client-handshake (ajouté en test suite à la lecture d'un forum)
collation-server=utf8_general_ci (ajouté en test suite à la lecture d'un forum)
PHP:
J'ai décommenté la ligne suivante:
default_charset = "utf-8" (et j'ai modifié sa valeur pour utf-8)
Dans Phpmyadmin, j'ai vérifié que la base, les tables et les champs utilisent bien l'utf-8, j'ai testé aussi de changer la méthode de communication de phpmyadmin (option sur la page d'accueil)
Dans la base de donnée les champs qui posent problème ont bien les caractère â„¢ donc je penche pour un problème à l'insertion ou à l'export ... pour le reste je pense que tout est bon.
Voilà je ne suis pas du tout au point sur les problèmes d'encodage, c'est la raison pour laquelle j’écris ici dans l'espoir d'avoir des éclaircissements, j'ai compris que les caractères spéciaux n'existent pas et que tout n'est qu'une question d'encodage pour les tables de caractères étendu ... merci pour votre aide
Edit:
Je viens d'éditer le fichier .sql que j'importe dans ma base, les caractères sont bien codé, j'ai bien un symbole Trademark et des lettres en japonais, chinois etc ... donc c'est lors de mon import que je dois mal faire la manip, ou bien ma configuration du serveur MySQL qui ne serait pas bonne (je pense plutot pour une mauvaise commande d'import, ma config MySQL semble correct selon tout ce que j'ai pu lire sur le net ...)
Message édité par AxlRose le 07-02-2012 à 14:03:35