Bonjour,
Avant l'énoncé du problème je précise, dans ma base de donnée le texte est de format brut, les accents, "é" "à" par exemple, sont remplacés par é à etc...
J'utilise htmlentities pour convertir les caractères spéciaux.
Et l'encodage latin1_general_ci pour l'affichage en caractères normaux.
Donc, j'ai une fonction d'affichage de smileys qui utilise preg_replace pour remplacer:
en smiley.
Le problème c'est que si je post : "(Testé)"
Dans ma base de donnée, l'affichage en caractères spéciaux : "(Testé)" et en affichage normal (Testé

.
Voici ma fonction smiley :
function smiley($texte){
$texte = preg_replace('#;-\)|;\)|:clinoeil:#i',' <i class="smiley" id="Clinoeil"></i> ', $texte);
}
Je ne peux pas changer l'encodage à l'insertion de ma base de donnée, sinon il y aura un bug un peu compliqué à expliquer
Merci d'avance