Bonjour,
Je suis actuellement entrain de réaliser la migration d'une appli(emplacement&version).
Donc j'avais des données à importer, dans une nouvelle structure de BDD. Jusque la pas de soucis, j'me suis débrouiller tout est rentré correctement.
Le soucis c'est que certaines varchar comportent des accents en BDD (reliquats de l'ancienne version).
J'ai donc pondu un peu de code qui devrait m'aider ==> http://pastebin.com/ArPbBKep
Le soucis c'est qu'a la place de m'insérer 'é' en place du 'é', c'est 'é' qui est inséré en BDD.
Et donc lors de la récupération sur l'interface web 'é' est affiché.
Quelqu'un à une idée de comment faire pour que seul 'é' soit inséré?
NB: si j'exécute la requête sql générée par mon php directement dans mysql, l'insertion est correcte (uniquement 'é')
Pourquoi tu changes pas simplement ton encodage ?
Parce qu'il s'agit d'un programme qui a 10ans, qu'il est énorme (ca gère le contact prospect, jusqu'au passage du produit fini en prod & expédition/pose), que l'encodage est en ut8 depuis le début (coté base, comme les pages).
J'ai test, mais ça me génère bien plus de bug que cela n'en résout. Donc bon...
Puis voila, la il me manque pas grand-chose, j'y suis presque et tout sera réglé .
Y'a vraiment pas moyen avec le code que je file, de dire a mysql de pas echapper la chaine insérée?
Je n'ai plus fait de PHP depuis longtemps mais je me souviens bien que :
l'encodage de ta page doit être équivalante à celle de la base de données.
Tu peux la définir avec la fonction header normalement si ma mémoire est bonne.
Pour ma part la science des Encodages reste une obscure magie noire, mais as tu testé les deux fonctions magiques de PHP utf8_encode() et son alter ego utf8_decode() ?
Ces deux trucs là font le café je t'assure.
Je sais.
Pour ré-préciser mon soucis, le soft fonctionne parfaitement, si j'ajoute un nouveau client, avec accent, celui-ci est récupéré, encodé, et ensuite affiché correctement.
Mon soucis provient d'une ancienne bdd, qui était formatée en binary, apparement, et permettait donc le stockage des accents.
Mais j'vais le faire dans le fichier sql, en éditant avec le wordpad, à mon avis c'est le plus simple. La j'pourrai recherché des caracs accentués.
J'avais eu le même problème sur le dump d'une base de données qui pesait 20mo.
Je l'ai ouvert avec sublime text et à coup de fonction remplacer j'ai pu changer les accents et quelques autres trucs.
C'est long mais ça marche
Merci pour la réponse, j'ai éditer le .sql via notepad++, et problem solved!
Merci pour le support en tt cas !