65 Ansichten
[Résolu] Problème encodage
SwoOn

8 Fach, 41 Antworten

Ungelesene Nachricht
Bonjour,

je débute en php / mysql, j'avoue, mais en suivant quelques tutos je suis arrivé à faire quelques trucs qui me conviennent.
Mais là ça fait 3 plombes que je tourne en rond sur l'encodage ....
Pour résumé : j'ai fait un petit formulaire qui envoie mes infos dans une base de donnée mysql, tout est codé en utf-8.
Quand je teste sur une page lambda, pas de soucis ça fonctionne bien, par contre quand je fais a même en passant par le widget de neofrag (dans index.tpl.php)
là gros soucis de code. Je peux pas vous envoyer de lien du site vu qu'il n'est pas en ligne je fais ça sous wamp. Mais voilà ce que ça donne :

Voilà la table que j'ai crée :


Lorsque je rentre quelques données :

Si je teste sur une page lambda php avec en en-tete :

<meta charset="UTF-8">

j'ai :



et en passant par Neofrag :



J'ai essayé pas mal de truc mais là, je suis coincé ou alors je suis vraiment une quiche !
2 Teilnehmer
10 Antworten
Zaekof

38 Fach, 883 Antworten

Mitwirkende Geber
Ungelesene Nachricht
ta essayé d'encodé en "ISO-8859-1" ?
"N'arrêtez jamais d'apprendre" !
SwoOn

8 Fach, 41 Antworten

Ungelesene Nachricht
Euh non !

Tu veux dire sur *.php ? En mode édition ou dans labase de donnée ?
ou les 2 ?
SwoOn

8 Fach, 41 Antworten

Ungelesene Nachricht
Bon j'ai essayé de tout ré encoder en "ISO-8859-1", pas mieux :(
Zaekof

38 Fach, 883 Antworten

Mitwirkende Geber
Ungelesene Nachricht
Désolé j'avais pas vu ton msg, euh si ta essayé et que c'est pas mieux alors le problème viens du php, comment tu encode tes donnés pour les stocker dans ta bdd ?

Au pire envoi moi le code en pv.
"N'arrêtez jamais d'apprendre" !
SwoOn

8 Fach, 41 Antworten

Ungelesene Nachricht
pas de soucis !! Je cherche de mon côté aussi !

En pv ? Ou pj ?
SwoOn

8 Fach, 41 Antworten

Ungelesene Nachricht
Bon j'avance un peu !
Si je mets un texte avec accent dans mon fichier php codé en ISO-8859-1, le "à" dans la variable $Date est bien transcrit dans la table mysql et du coup il apparait nickel dans le site neofrag.

Par contre, les infos récupérées par mon formulaire ne gèrent pas les accents et donc ne s'affichent pas correctement dans la table. Un bout de code :

<label for=coach_1>Coach</label>
<input id=coach_1 name="Captain_1" type="text" placeholder="Nom du Coach" required>

...
<?php
setlocale(LC_TIME, 'fra_fra');
if(isset($_POST['valider'])){
$Coach_1=$_POST['Captain_1'];
...
$Date=strftime('%A %d %B à %H:%M');

$base = @mysql_connect ('localhost', 'root', '') ;
mysql_select_db ('ovalie', $base) ;
$Id_max = mysql_result(mysql_query('SELECT max(id) FROM scores'),0,"max(Id)")+1;
$sql = 'INSERT INTO scores
VALUES("'.$Id_max.'","'.$Coach_1.'","'.$Equipe_1.'","'.$Score_1.'","'.$Coach_2.'","'.$Equipe_2.'",
"'.$Score_2.'","'.$Competition.'","'.$Playoffs.'","'.$Date.'")';

mysql_query($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());

mysql_close();
echo '<SCRIPT>javascript:parent.opener.location.reload();window.close();</SCRIPT>';
}
?>

damned !
Zaekof

38 Fach, 883 Antworten

Mitwirkende Geber
Ungelesene Nachricht
oui j'ai vue la même chose en local hier soir, a tu essayé a la connexion avec ta bdd, tu peux rajouter cette ligne : mysql_query("SET NAMES UTF8"); ou $taconnexionbdd->exec("SET CHARACTER SET utf8"); apres tu peut modifier le nom de l'encodage bien sur, mais de mon coté je trouve pas de solution avec le formulaire ou peut être qu'il faudrait créer une function genre $test .= 'charset=iso-8859-1' ;
puis l'intégré dans le msg de ta bdd
"N'arrêtez jamais d'apprendre" !
SwoOn

8 Fach, 41 Antworten

Ungelesene Nachricht
Magique !

Avec mysql_query("SET NAMES UTF8"); juste après la connexion, tout roule !

Un grand merci pour le temps passé, par contre il me semblait l'avoir testé cette commande, j'avais surement du mal la placer !
En tout cas merci bcp.
Zaekof

38 Fach, 883 Antworten

Mitwirkende Geber
Ungelesene Nachricht
pas de soucie un plaisir !
"N'arrêtez jamais d'apprendre" !
SwoOn

8 Fach, 41 Antworten

Ungelesene Nachricht
Je mets un petit message de plus, avec les commandes "mysqli" pas besoins de mettre en UTF-8
Ca marche tout nickel !