J'ai réussi la migration de mon forum (3.1.10) d'un hébergeur à l'autre mais j'ai dû louper une case ou mal choisir l'encodage lors du transfert de la base de donnée car tous les messages d'avant la migration n'ont plus de retour à la ligne (retour chariot), à la place on trouve le "\n". Même en éditant les messages, le retour à la ligne est remplacé.

En revanche les nouveaux messages fonctionnent parfaitement.
L'ancienne base de donnée ayant comme paramètre général d'Interclassement pour la connexion au serveur l'encodage utf8mb4_unicode_ci, j'ai tenté de choisir ce paramètre sur la nouvelle mais en vain. Il faut peut-être changer ce paramètre avant l'export sur l'ancienne ou avant l'import sur la nouvelle ? (j'ai bien choisis UTF8 comme paramètre d'encodage du fichier à l'export et à l'import).
Les tables de l'ancienne et de la nouvelle base sont en utf8_bin.
Je ne sais pas si c'est utile mais voici les différentes infos sur les logiciel de chaque hébergeur.
- Code: Tout sélectionner
Ancien hébergeur : Database server Server: Localhost via UNIX socket Server type: MariaDB Server version: 10.1.18-MariaDB - MariaDB Server Protocol version: 10 User: *** Server charset: UTF-8 Unicode (utf8) Web server Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips Database client version: libmysql - mysqlnd 5.0.12-dev - 20150407 - $Id: 241ae00989d1995ffcbbf63d579943635faf9972 $ PHP extension: mysqliDocumentation curlDocumentation mbstringDocumentation PHP version: 7.0.8 phpMyAdmin Version information: 4.6.5.1 , latest stable version: 4.6.5.2
- Code: Tout sélectionner
Nouvel hébergeur : Serveur de base de données Serveur: Localhost via UNIX socket Type de serveur: MySQL Version du serveur: 5.6.35 - MySQL Community Server (GPL) Version du protocole: 10 Utilisateur: *** Jeu de caractères du serveur: UTF-8 Unicode (utf8) Serveur web cpsrvd 11.62.0.1 Version du client de base de données: libmysql - 5.1.73 Extension PHP: mysqli Documentation phpMyAdmin Version: 4.0.10.14
Il n'y a pas beaucoup de messages sur ce forum pour l'instant donc peut-être qu'une simple requête "sql" pour remplacer ces "/n" par des "<br/>" fonctionnerait aisément ?
Quelque chose du genre :
- Code: Tout sélectionner
UPDATE phpbb_posts SET post_text = REPLACE(post_text, '\n', '<br />')
?
Merci d'avance pour vos lumières !

------------------- EDIT : ----------------
J'ai trouvé la solution, en testant un peu je me suis rendu compte que les retour charriot n'étaient pas stockés en Html (<br/>) donc la requête ci dessus n'aurait pas rétablit mes données comme il faut.
Voici la bonne requête :
- Code: Tout sélectionner
UPDATE phpbb_posts set `post_text` = REPLACE(`post_text`,'\\n', char(10))
où "phpbb_posts" est le nom de la table qui stocke les messages et "post_text" le nom de la colonne.