IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

le sigle € se transforme en ? dans la base


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Par défaut le sigle € se transforme en ? dans la base
    Donc voilà j'ai un petit soucis pour l'envoi du signe € depuis un script php vers une base mysql voilà un bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $tarif=15€;
     
    $req="insert into table values(\"".$tarif."\")";
    $rep=mysql_query(utf8_decode($req));	
    echo $req;
    Lors de l'affichage de la requête j'ai bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into table values("15€")
    qui apparait comme il faut, mais lors de l'insertion dans la base j'ai 15?, pourtant si je fais un copier coller de ma requête tel qu'elle apparait dans phpMyAdmin dans la base j'ai bien 15€ avec le signe € donc ça veut dire qu'elle sait stocker le caractère €.
    Alors pourquoi lorsque la requête s'effectue directement depuis mon code php ça remplace € par ?
    J'ai essayé sans le utf8_decode, avec utf8_encode et toujours pareil.

  2. #2
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 489
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 489
    Par défaut
    salut,
    et € ca n'irais pas ?
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Membre Expert
    Avatar de Bidouille
    Inscrit en
    Mars 2003
    Messages
    1 291
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 1 291
    Par défaut
    Il faudrait savoir comment sont encodées tes tables côté MySQL.


  4. #4
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Tu peux créer une base mysql en utf8

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    create database nom_base character set utf8

  5. #5
    mon_nom_est_personne
    Invité(e)
    Par défaut
    le probleme je dirais meme qu'il est inverse. tes 15 euros sont justement encode en utf-8 et t'as base dans un autre.

    En fait quand tu as des ? ca veux dire que l'hexa de ton charactere et en dehors du rang des indexes de l'encodage d'arrive. (utf-8 = 2 octets et iso-blabla = 1 octet) invercement, quand ca fait un truc moche ca veux dire qui tu point sur un autre charactere qui a le meme indexe mais dans le mauvais charset.

    tu peux regle ce probleme en entrant a la connection de ta base de donne SET NAMES UTF-8 ou alors en convertissant t'as base de donne en UTF-8 ou encore un coup de mb_convert_encoding($tarif,'ISO-....','UTF8')

  6. #6
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    iso-8859-1
    Sa n'irais pas?
    Quand j'au un probleme d'affichage je passe par sa dans le meta et du coup sa marche tres bien

  7. #7
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Par défaut
    je n'ai pas la main sur la base, du fait que c'est un site sur ovh, la base est créée par ovh, j'ai éventuellement la main sur l'encode des tables
    mais lorsque depuis phpmyadmin je rajoute en mettant insert into table values("15€") là j'ai bien € écrit comme il faut, c'est vraiment lors de l'envoie entre le script php et la base que le signe € se transforme en ?
    J'ai essayé dans en mettant dans mon champ sur le scritp php € à l'affichage j'ai bien € comme ça,mais dans la base j'ai € en toute lettre

    mes tables sont encodées en latin1_swedish_ci mais j'ai essayé en utf8_unicode_ci et c'est pareil

  8. #8
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query("SET CHARACTER SET 'utf8'");

Discussions similaires

  1. [StAX] javax.xml.transform.stax dans TrAX ?
    Par polymorphisme dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 30/10/2012, 15h57
  2. Réponses: 1
    Dernier message: 14/08/2012, 17h44
  3. Réponses: 0
    Dernier message: 23/12/2011, 18h32
  4. [XL-2003] transformer image dans page import web, en "image texte remplacement" ?
    Par Nioubie dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/02/2011, 20h12
  5. Réponses: 11
    Dernier message: 22/03/2006, 11h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo