textarea et utf8

Eléphanteau du PHP | 28 Messages

26 nov. 2014, 17:20

Bonjour,

Merci de m'aider car je bloque sur un problème.

J'ai une BDD définie en utf8,
une table définie en utf8,
tous ses champs définis en utf8, dont un champ TEXT.

L'encodage de mon php est utf8.
et un

Code : Tout sélectionner

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Mon problème est le suivant:
Quand j'affiche dans un formulaire les champs de ma table, les caractères accentué sont bien affichés, sauf pour mon textarea où j'ai �.

Quelqu'un aurait-il une idée.

Merci
https://PrivateLadyEscorts.com - Meet Local Private Lady - No Selfie - Anonymous Casual Dating - Secret Chat Local

Nestecha
Invité n'ayant pas de compte PHPfrance

26 nov. 2014, 17:32

Tu as essayé de rajouter :
<form accept-charset="UTF-8"/>
?

Eléphanteau du PHP | 28 Messages

26 nov. 2014, 17:39

Bonjour Nestecha,

J'ai déjà essayé sans réultat.
https://PrivateLadyEscorts.com - Meet Local Private Lady - No Selfie - Anonymous Casual Dating - Secret Chat Local

Nestecha
Invité n'ayant pas de compte PHPfrance

26 nov. 2014, 22:25

J'ai eu le soucis, je crois que je l'avais réglé de la sorte :
$oPDO = new PDO('mysql:host=localhost;dbname=database', 'username', 'password', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));

Eléphanteau du PHP | 28 Messages

27 nov. 2014, 17:00

Bonjour Nestecha,

J'ai essayé ta solution et après des essais infructueux, j'ai fais une recherche PDO et Free (mon hébergeur) et apparemment ce n'est pas possible.
https://PrivateLadyEscorts.com - Meet Local Private Lady - No Selfie - Anonymous Casual Dating - Secret Chat Local

Mammouth du PHP | 737 Messages

27 nov. 2014, 17:13

Slt,

Une piste à savoir l'encodage de ton fichier lui-même. Perso j'ai déjà eu le cas, tout était en utf8 et comme toi des soucis d'accents... mais dans mon notepad++ j'ai changé l'encodage et ça a résolu mon problème (dans le menu > Encodage)

Autre piste si ca vient de données php en haut de page, rajouter le fameux :
header('Content-Type: text/html; charset=utf-8');

Mega
;)

Ps : au même titre qu'un fichier txt, csv en utf8 et quand tu détailles tu lis ANSI.
Dyslexics are teople poo

Eléphant du PHP | 267 Messages

27 nov. 2014, 17:22

salut,

utilises-tu les fonctions préfixées par "mb_" ?
par exemple, mb_strtolower

@+
dix2

Eléphanteau du PHP | 28 Messages

27 nov. 2014, 17:30

Bonjour Mega,

J'ai déjà fais, et en place, tes deux propositions, d'où mon passage sur le forum.
A mon avis le problème vient de l'interprétation du textarea par php, car comment un champ varchar utf-8 est bien interprété alors que le textarea en utf-8 ne l'est pas dans une même table?

Bonjour dix2,

Non aucun préfixe mb_
https://PrivateLadyEscorts.com - Meet Local Private Lady - No Selfie - Anonymous Casual Dating - Secret Chat Local

Eléphant du PHP | 267 Messages

27 nov. 2014, 17:38

essaie en préfixant par "mb_" les fonctions qui ont un équivalent

Eléphanteau du PHP | 28 Messages

27 nov. 2014, 17:55

Les deux fonction qui concerne ce champ sont:
$_POST['xxx'],
et echo
donc pas d'équivalent mb_
https://PrivateLadyEscorts.com - Meet Local Private Lady - No Selfie - Anonymous Casual Dating - Secret Chat Local

ViPHP
xTG
ViPHP | 7331 Messages

27 nov. 2014, 19:09

Ton textarea est une balise simple ou bien tu as un éditeur avancé utilisant Javascript ?

Eléphanteau du PHP | 28 Messages

27 nov. 2014, 19:53

Bonjour xTG,

Une balise simple!
https://PrivateLadyEscorts.com - Meet Local Private Lady - No Selfie - Anonymous Casual Dating - Secret Chat Local

Mammouth du PHP | 737 Messages

27 nov. 2014, 23:51

Tu as essayé les fonctions utf8_encode et utf8_decode directement sur ta variable ?

Mega
;)
Dyslexics are teople poo

Eléphant du PHP | 290 Messages

02 déc. 2014, 18:40

Les points d'interrogation blancs dans des losanges viennent de me faire des misères à moi aussi.
J'ai pas mal cherché, et me suis fait aidé aussi, pour finalement me rendre compte qu'à chaque fois
que j'avais ce problème, ou même un problème du même genre,
c'est qu'il me manquait cette ligne de code quelque part dans ma page:
mysqli_query($connexion, "SET NAMES 'utf8'");
$connexion est le nom que j'ai donné à la variable qui permet de se connecter au serveur MySQL grâce à la fonction mysqli_connect.
J'écris cette ligne de code sous ma ou mes variables qui permettent ma connection => hôte, utilisateur, mot de passe et nom de base.

Du coup, adieu les losanges :D

Mammouth du PHP | 2278 Messages

02 déc. 2014, 19:46

J'avais bien aimé ce texte sur le sujet:
http://openclassrooms.com/courses/passe ... -l-unicode
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD