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