Bonjour,
je récupère des textes en iso-8859-2 dans ma BDD, certains codés en binaire.
Je voudrais les convertir en UTF-8 pour les importer dans une autre BDD
Comment puis-je faire???
merci
phoque.r
Bonjour,
je récupère des textes en iso-8859-2 dans ma BDD, certains codés en binaire.
Je voudrais les convertir en UTF-8 pour les importer dans une autre BDD
Comment puis-je faire???
merci
phoque.r
Premièrement, les binaires ne tiennent pas compte du charset à ce que je sache.
On peut utiliser iconv sous linux pour convertir un fichier de texte d'un charset à un autre.
Sinon, on peut le faire en php grâce à l'extension iconv :
Ensuite, il suffira de remplacer les charsets spécifiés dans le dump.
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function convertFromIsoToUtf($path_input, $path_output) { $handle_source = @fopen($path_input, "r"); $handle_destination = @fopen($path_output, "w+"); if ($handle_source && $handle_destination) { while (!feof($handle_source)) { $buffer = iconv("ISO-8859-2", "UTF-8", fgets($handle_source)); fwrite($handle_destination, $buffer); } fclose($handle_source); fclose($handle_destination); } else { return false; } }
Toutefois, je pense que MySQL peut gérer la conversion, quelqu'un peut-il nous éclaircir ce point s'il-vous-plaît ?
Merci toujours pour cette réponse, je vais tester ça dans la journée
Cette méthode ne fonctionne pas totalement.
Bizarrement, les caractères français tels que é ou ê apparaissent normalement, mais les caractères polonais tels que ś, ć et autres ł (pour ne citer qu'eux) ne fonctionnent pas.
Qui aurait une autre idée???
merci
Le problème c'est qu'ils peuvent très bien avoir été correctement unicodés, mais que la police de caractères utilisées, elle peut ne pas avoir incorporé ces glyphes. Donc première question à se poser : est-tu sûr que la police de caractères utilisées comprend bien ces caractères polonais ?
Partager