News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

Encodage des fichiers Settings.php et agreement.txt

Started by webOW, May 21, 2016, 10:25:12 AM

Previous topic - Next topic

webOW

Bonjour tout le monde,

Je suis en train de changer l'hébergement du forum de l'association Orléans Wargames et malgré tout le soin que j'ai apporté à l'opération, il me reste un petit souci dont je ne comprends pas la cause.

Lorsque que je saisis des chaînes de caractères comportant des caractères accentués dans les champs "nom du forum" ou "message de maintenance" ou encore "accord d'inscription", le champ perd son contenu, ce contenu n'est pas enregistré dans le fichier correspondant (Settings.php ou agreement.txt). Lorsque la chaîne ne contient que de l'ASCII, ça fonctionne normalement.

Lorsque je modifie le contenu du fichier à la mano, rien ne s'affiche non plus dans l'IHM du Centre d'admin.

J'en viens à suspecter un souci d'encodage ou de locale sur le serveur.

Chez mon hébergeur actuel (free en page perso), je ne rencontre pas ce souci. Et je passe chez OVH.

Je n'ai pas changé la version de mon soft SMF (1.1.15), je suis en PHP 5.4 des deux côtés.

J'aimerais comprendre ce qui se passe avant de procéder à un upgrade de mon forum vers la version SMF 2.0

Merci d'avance pour votre assistance.

p.s. j'ai documenté mon protocole de migration si besoin.

maximus23

Bonjour,

Faire un Backup BDD.

Tu dois avoir un problème d'encodage au niveau des charsets donc un mélange entre utf8 et iso lors de la migration.

Pour résoudre ce problème commencer par faire un test en passant le forum en mode utf8 complet via l'admin ou alors vérifier les tables pour voir si il y des différences entre les charsets. Attention aux champs à l'intérieur des tables ils peuvent ne pa correspondre aussi.

En général on passe le forum en utf8 on est tranquille pour tout les langages par après.

:)

Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

webOW

Merci pour la réponse.

En réalité, les tables de la DB sont encodées en latin1 et cet encodage a été préservé.
Le contenu à destination de la DB ne pose aucun problème.

Seul le contenu à destination des fichiers Settings.php et agreement.txt pose problème ainsi que je l'avais mentionné dans le post initial.

Comme je suis encore en version 1.1.x, le support UTF-8 n'est pas garanti et c'est un risque que je ne vais pas prendre.

maximus23

Bonjour,

Oui c'est un soucis au niveau de l'encodage des caractères spéciaux.

Non il ne faut pas le faire sur la version 1 mais il faut au moins la mettre à jour version actuelle 1.1.21 pour avoir un maximum de compatibilité.

Il faut faire ce genre d'opération sur la version 2 qui sera migrée au nouvel hébergement.

Il faudrait faire tout cela en local pour commencer avec wampserver 3 par exemple 10 minutes à installer.

Donc le problème se situe sur ton forum actuel en version 1 quand tu passes sur OVH  ? Attention il faut voir si l'hébergement n'est pas passé en php 5.6.X car là tu vas avoir pas mal de soucis avec ta version 1 de Smf. J'en sais quelque chose. J'ai du faire des larges upgrades en local sur des version 1 vers 2 pour que cela fonctionne correctement et les remettre sur OVH une fois upgradée.

:)
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

webOW

J'ai modifié la config ovh pour être en PHP 5.4 avant de procéder à l'installation des paquets smf 1.1.15 avec support du français.
Ensuite, j'ai restauré le dump db, chmodé les fichiers (644) et reps (755), restauré les settings dépendants de la plateforme (sans utiliser l'util. repair settings), et pour finir,  j'ai restauré les fichiers des thèmes, les fichiers joints, avatars et smileys.

Pour moi, la différence vient du serveur proprement dit, quelque chose avec la locale sous Linux ou quelque chose comme ça, je postais pour avoir d'autres avis, des confirmations.

J'ai aussi fait un autre run de migration et du patching en masse pour arriver au niveau 1.1.21 mais le problème existait déjà (c'est d'ailleurs à ce moment que je m'en suis aperçu). Depuis, je suis passé en mode devops, je trace tout ce que j'entreprends pour que ce soit le plus reproductible possible.

p.s. je suis architecte logiciel, un peu au fait des subtilités techniques de l'hébergement web même si MySQL et PHP me révulsent complètement  ;D

webOW

Un petit peu plus d'info, voici les versions de PHP sur les deux environnements :
version PHP free : Version PHP courante : 4.4.3-dev
version PHP OVH : Version PHP courante : 5.4.45

webOW

Hello,

J'ai repris le problème sous un autre angle en tenant compte des réponses qui m'ont été faites ici.
J'ai commencé par installer sur le site de destination une version 1.1.21 propre avec prise en charge UTF8 et le paquet de localisation qui va bien French UT8.
Ensuite, j'ai fait un backup de ma DB, j'ai modifié les commandes SQL pour créer des table avec un encodage compatible (UTF8). J'ai importé structures+données et, bam ! ça fonctionne très bien. Aucune erreur d'encodage, tout est en UTF8 : DB, fichiers, formulaires html.

Merci de votre aide. En ce qui me concerne, ce sujet est à fermer.

Advertisement: