====== convertir un fichier sqlite en iso-8859-1 vers de l' utf-8======
* Création par : [[user>lagrenouille]] le 05-06-2024 et merci à Manu..
* Objet : du tuto sqlite
* Niveau requis :{{tag>débutant avisé}}
* Commentaires : //Contexte d'utilisation du sujet du tuto. // FIXME
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
* Suivi : {{tag>à-tester à-placer}}
===== Utilisation =====
j'ai une bdd en sqlite qui vient de windows, j'ai passé mon site tous linux, et c'est le bordel de partout, je peux même pas écrire.
ma bdd est "Refra_nv.sqlite"
je commence par faire une sauvegarde, je la renomme "rnv.sql"
sqlite3 Refra_nv.sqlite .dump > rnv.sql
maintenant je cré un fichier en utf8 (la base rnv.sql, renommé rn8.sql)
iconv -f iso-8859-1 -t utf-8 rnv.sql >rn8.sql
iconv est un programme qui lit un texte en entrée, dès qu'il voit un caractère iso-8859 hop il le change en la même chose mais utf-8 et il expédie tout ça sur le fichier texte de sortie.
iconv est parfaitement incapable de lire un fichier .sqlite, qui a un format particulier, utilisable uniquement par sqlite, et conçu pour faire des requêtes efficacement
pour vérifier, faites un :
less rnv.sql
montre que l'utf8 est passé, il n'y a plus de fautes.
Faite un G majuscule pour aller au bout et q pour quitter
je demande à sqlite3 de le lire et convertir, correctement lisible en bon français
je fais donc la commande qui va créer le fichier sqlite
sqlite3 rn8.sqlite
SQLite version 3.40.1 2022-12-28 14:03:47
Enter ".help" for usage hints.
puis j'ai le prompt de sqlite qui attends une commande
sqlite> .read rn8.sql
sqlite> .quit
j'ai maintenant créer une base en utf8 "rn8.sqlite"
je peux la déposer dans mon site, à sa place dans le dossier bdd
sur le fofo df
[[
https://debian-facile.org/viewtopic.php?pid=415568#p415568]]