Connexion alias mysql qui fait sauter les accents
... / Connexion alias mysql qui...
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
question

Connexion alias mysql qui fait sauter les accents

Par
NathalieC6
Créé le 2020-09-16 09:41:05 (edited on 2024-09-04 10:46:35) dans Hébergement Web-old

Bonjour,
Il semble que mon site tourne depuis des lustres en se connectant à ma base sql avec un alias ancien. Depuis quelques temps, du jour au lendemain, j'ai de régulière erreur 504 sur une page de mon admin. J'ai fouillé partout, mais pour l'instant je ne vois pas pourquoi. Bref, après avoir contacté OVH, il m'invite à me connecter avec un autre nom d'hôte. Je le fais et tous mes accents sautent !
Je ne change absolument rien d'autre que le nom de l'hôte dans ma connexion, connexion qui ne se fait qu'à un seul endroit dans un seul fichier.
Mes fichiers sont tous encodés en utf8 sans Bom, je déclare le charset en utf-8 et toute la partie texte dans le php s'affiche bien, tandis que tous les accents de textes venant de la base sautent.
OVH me dit que les deux bases sont strictement identiques, je ne change rien d'autre que l'accès et l'affichage change. Pourquoi ? OVH me dit que c'est lié au développement du site, mais le développement ne change pas !
Je ne sais pas où chercher, ni quoi faire, help :)


10 réponses ( Latest reply on 2020-09-16 11:36:21 Par
kyodev
)

Ovh a migré de vieux serveurs mySql5.5 en moins vieux serveurs 5.6 avec utf8 par défaut

exemple: https://community.ovhcloud.com/community/fr/problemes-caracteres-accentues-sur-1-clic?id=community_question&sys_id=74a4f94ce59286d02d4c0165b3e76617

mais je ne vois pas le rapport avec l'alias, qui théoriquement devrait envoyer sur le même serveur

tu peux préciser de quoi tu parles?
en clair, c'est quoi ton alias

> mon site tourne depuis des lustres

dans tes paramètres de connexions à la base, tu a vérifier que utf8 est utilisé

> Mes fichiers sont tous encodés en utf8 s

on parle de la base, pas des fichiers


quel site?

Merci kyodev, je ne comprends pas tout de la réponse, donc pas sûr que je réponde bien.
Je suis en mutualisé, est-ce que ça joue ?
Est-ce que je peux indiquer le nom de ma base ici sans que cela nuise à la sécurité ?
Avant ça ressemblait à mysql51-XX.dbd et OVH me dit de mettre nom_de_mon_user.mysql.db.
J'ai parlé de mes fichiers car OVH me dit que ça vient du développement, donc je pensais que c'était les fichiers ?
Mon schéma de connexion n'a pas du tout changé, j'ai juste changé le nom du serveur.


dans tes paramètres de connexions à la base, tu a vérifier que utf8 est utilisé

Question à laquelle je ne sais pas répondre, où est-ce que je peux voir ça ?
Quand je me connecte j'utilise ce code :
` $mysqli = new mysqli($serveur, $user, $pass, $base);`
Il faudrait que j'ajoute un paramètre ?
Sur mon site, ça ne se voit pas côté visiteur, pour l'instant je le fais que dans l'admin.

Je viens de tester côté visiteur, c'est pire, ça me plante carrément le site :(

Warning: mysqli_connect(): (HY000/1044): Access denied for user '****'@'%' to database '1' in /home/***/www/includes/class_session.php on line 21

Warning: mysqli_select_db() expects parameter 1 to be mysqli, boolean given in /home/***/www/includes/class_session.php on line 22

Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in /home/***/www/includes/class_session.php on line 79

> Je suis en mutualisé, est-ce que ça joue ?

on parle bien de ça

> mysql51-XX.dbd

ok, à changer donc
si en changer influe sur l'encodage, je crains le pire
ta base est migrée mais l'alias pointe toujours sur l'ancien serveur en latin1 :(

quand tu changes de serveurs, la base est chronologiquement correcte?
les données récentes sont ok?

il va falloir peut-être faire une migration manuelle, voir le lien

pour le reste, je n'ai pas d'élements ou de réponses pour te répondre


ta base est migrée mais l'alias pointe toujours sur l'ancien serveur en latin1 :(

C'est de ma faute ou ça vient d'OVH ?

quand tu changes de serveurs, la base est chronologiquement correcte?
les données récentes sont ok?

Pour ce qu j'en ai vu oui

> C'est de ma faute ou ça vient d'OVH ?

_SI_ mon **hypothèse** est bonne: Ovh

> Pour ce qu j'en ai vu oui

donc je ne comprends en quoi l'alias peux jouer
mais il y a des corrections à faire sur l'encodage de la base semble t il


il va falloir peut-être faire une migration manuelle, voir le lien

Je dois migrer l'ancien sur le nouveau ? Mais je croyais que c'était une copie déjà ?
Je suis allée voir le lien, mais faut que je relise et décortique car comme ça, j'ai rien compris.
En plus je lis que les exports ne sont pas fiables :(
Et je comprends pas le principe de migrer ma base, l'ancienne sur la copie ? Mais si je change rien, la copie va rester pareille ?


ta base est migrée mais l'alias pointe toujours sur l'ancien serveur en latin1 :(

Si j'ai bien compris je ne peux pas solutionner ce problème ?

> Je dois migrer l'ancien sur le nouveau ? Mais je croyais que c'était une copie déjà ?

lire le lien
à faire si souci encodage, c'est arrivé... mais ça faisait longtemps
perso, de ce que tu dis je vérifierais
ou alors tu te cales sur le "nouveau" et tu vois si tu peux régler l'encodage

Ok, merci pour ton aide, je vais essayer de me caler sur le nouveau et de régler le problème d'encodage.
Mais juste une dernière question avant, comment je vois comment se fait la connexion en latin1 ou en utf8 ?
J'ai fouillé dans la base, mais je ne sais pas où chercher, où faire un réglage si c'est possible ?

ce n'est pas dans la base, mais dans ton script ou CMS
le changement aujourd'hui est que la base, **PAR défaut**, est en utf8
mais il y a eu des bavures Ovh dans la config, voir liens
je ne peux t'en dire plus, j'ai expliqué tout ce que j'ai constaté dans mon lien