8710 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai une base de donnée qui fonctionne nickel en php 5.3 et lors du passage en 5.4 mes caractères spéciaux × ou Ø ou à ...

Retour bdd j'ai rien

Exemple : Banane de 10 à 20 ( retour rien )

Si je tape : Banane de 10 a 20 ça s'affiche si je met l'accent 'à' j'ai rien en retour.

Après test, c'est les caractères spéciaux qui ne passe pas.

Je fais comment ?

C'est fort de café. Avant je passais des Ø et × et ça passait super bien.

Merci pour vos lumières.

Dom Smiley smile
Modifié par CVS (26 Oct 2014 - 11:52)
La solution : <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Modifié par CVS (25 Oct 2014 - 17:48)
J'ai un soucis, ça s'affiche avec Chrome, Firefox, Opéra mais pas avec IE !!!!

Quelqu'un à t'il une explication ?
Vérifie bien que toute la chaîne de traitement, de la base SQL à l'envoi au client en passant par le php, se fait adéquatement dans le même encodage du début à la fin; idéalement UTF-8.

Si tu n'as rien touché dans tes bases de données, sache qu'avec chaque version successive de php, les fonctions qui permettent de choisir l'encodage ou qui manipulent des chaînes ont tendance à passer leurs paramètres par défaut de ISO-8859-1 à UTF-8. Peut-être te fies-tu à un de ces paramètres par défaut et il a changé ? Pour savoir quelles fontions et comment exactement, le mieux est de regarder attentivement la documentation, et notamment l'historique des changements. Exemple typique de fonction qui a évolué au cours du temps dans ses paramètres par défaut: htmlentities.
Je suis de ton avis. Il y a du changement ça passe à UTF-8 depuis 5.4, car mon site a été a la base conçu avec ISO 8859-1.

Ma bdd est bien codé en UTF-8. J'ai testé ce matin, tout fonctionne nickel chrome. Je peux passer les accents et les signes spéciaux.

J'ai cherché un peu, mais ça m'a occupé.

Merci de ton aide.