Mysql, phpmyadmin ...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Mysql, phpmyadmin ...

par guigui69 » 04 janv. 2008, 10:54

Bonjour je revient sur ce petit soucis car ma base de donnée commence a bien avancée.

Comment faire pour ma base de donnée soit bien encodé. Que lorsque j'ai des mots avec des accents, les accents reste et ne soit pas transformé en "?".

Cette modification peut-elle est fait depuis phpmyadmin?

Merci pour votre aide

guigui69

par guigui69 » 04 déc. 2007, 18:04

Ok mais ça doit être dans ma base car dans les données rentrée à la place du 'é' il y a un ? sur tout les mot.

par Cyrano » 04 déc. 2007, 16:10

Vérifie si le problème est au niveau de l'affichage ou bien des données elles-même qui seraient enregistrées incorrectement. Tu peux tester ça en modifiant l'encodage utilisé par ton navigateur en cliquant sur "Affichage>Encodage des caractères" et en sélectionnant iso-8859-1 par exemple : si ça corrige bien les valeurs, c'est que l'encodage par défaut de ta page est à modifier avec une balise <meta> du genre :

Code : Tout sélectionner

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" xml:lang="fr" />

par guigui69 » 04 déc. 2007, 16:02

Merci pour ta réponse,

au niveau de phpmyadmin, le champ ou les é sont remplacés par ? l'interclassement est le suivant :

latin1_swedish_ci

Comment le modifié

Merci pour ton code pour remplacer les "," par des points, je teste ca :)

par Cyrano » 29 nov. 2007, 12:46

Essaye ça :
<?php
$nombre = "2,400";
$num_float = str_replace(",", ".", $nombre);
echo("<p>Nombre au départ : ". $nombre ."</p>");
echo("<p>Nombre après traitement : ". $num_float ."</p>");
?>
;)

par guigui69 » 29 nov. 2007, 12:28

Merci pour ta réponse, quel methode me conseille tu au niveau de l'interclassement (le plus simple a mettre en place).

Aurait un petit exemple d'un bout de script pour transformer les virgule en point et vis vers ca (en php)

Merci d'avance

guigui69

par Cyrano » 29 nov. 2007, 12:13

Salut,
l'interclassement devrait être à "latin1" qui correspond à "iso-8859-1" : là, je dirais que tu as envoyé des caractères encodées en iso-8859-1 dans une table qui a un interclassement en utf-8. Donc deux solutions possibles : soit tu modifie l'interclassement de toutes tes tables, soit tu encodes les données en utf-8 avant insertion et grosso modo tu traites tout en utf-8.

Quand aux nombres flottants, il faut les enregistrer en utilisant le point décimal et non la virgule qui sera interprétée comme un séparateur d'arguments. donc il faut enregistrer "2.400" et non "2,400". Ça veut dire effectuer un traitement avant le construction de la requête et l'inverse lors de l'affichage des données récupérées dans la base.

Mysql, phpmyadmin ...

par guigui69 » 29 nov. 2007, 11:17

Bonjour à tous,


J'ai installé sur mon serveur ubuntu, mysql (MySQL: 5.0.38), apache etc...

Tout fonctionne bien mise à part d'un petit souci, j'ai insérer des données dans ma base le petit soucis c'est que tout les les mots (par exemple: farine fourré) et bien tout les "é" sont remplacé par des point d'interrogation (?)

Comment faire pour éviter ce problème?

Mon ma parler de l'inter classement.

Quel inter classement je doit mettre?

Deuxième petite question:

Je suis obliger de mettre un poit (.) a la place d'une virgule pour les nombre que je rentre, comment faire pour qu'il interprète correctement la virgule
(Car actuellement 2,400 se transforme en 2.000)

Merci d'avance

guigui69