Caractères accentués remplacés par un '?' - SQL/NoSQL - Programmation
Marsh Posté le 18-02-2007 à 12:38:40
Comment est le contenu de ta base ? ISO ou utf-8 ?
Les "?" apparaissent quand un contenu encodé en ISO est affiché comme de l'UTF8.
Marsh Posté le 21-02-2007 à 03:12:55
cgo2 a écrit : Comment est le contenu de ta base ? ISO ou utf-8 ? |
Ok, c'est bon le problème est résolu. En utf-8 ça fonctionnait pas en latin1 non plus, quelques soit les options choisies pour phpmyadmin , fallait sélectionner utf-8 sans BOM ...
Merci pour la réponse quand même.
Marsh Posté le 18-02-2007 à 05:52:18
Salut à tous,
Je viens de changer d'hébergement et via phpmyadmin j'importe des fichiers de requètes sql pour restaurer la base de données. Mais tous les caractères accentués sont remplacés par un point d'interrogation '?' .
Ils s'affichent ainsi quand je visite le site et quand je consulte la base de données.
L'interclassement des champs de la table est: latin1_swedish_ci .
Est-ce que ça veut dire que le jeu de caractère du fichier que j'importe doit être du latin1 ?
Je travaille avec phpmyadmin , que dois-je choisir comme language à la connection à phpmyadmin : http://90plan.ovh.net/phpMyadmin/index.php
Une fois connecté, que dois-je choisir dans la liste déroulante: "Interclassement pour la connexion MySQL" ?
Lors de l'importation il est demandé le "Jeu de caractères du fichier", ça me paraît clair: je précise ici le jeu de caractère avec lequel j'ai enregistré le fichier.
J'ai convertit et enregistré mes requêtes sql dans un fichier en UTF-8 , et un autre en Latin1 (ISO 8859-1), l'importation donne le même résultat dans les deux cas: des '?' partout.
J'ai effectué les conversions avec Notepad++ (utf-8) et Unired (utf-8 et latin1) conseillé par Openweb: http://openweb.eu.org/articles/jeux_caracteres/
Quand dans phpmyadmin je clique sur l'onglet SQL et que je copie-colle directement la requète sql dans le champ : "Exécuter une ou des requêtes sur la base", ça fonctionne: les accents réapparaissent, mais cette procédure bloque dès que la taille de la requète est trop importante (Fatal error: Maximum execution time of 10 seconds exceeded).
Sur le net, la meilleure réponse que j'ai trouvée à une question similaire est celle-ci:
http://mysql.ifrance.com/archive/index.php/t-977.html
Mais je ne peux pas refaire le dump: j'ai dit adieu à l'ancien hébergeur.