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 :

[SQL] Caractères spéciaux transformés


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut [SQL] Caractères spéciaux transformés
    Salut,

    J'ai une requête qui ajoute des mots dans un table. Juste avant l'insertion, je fais un echo des mots pour vérifier leur orthographe.
    Par exemple: équilibré s'affiche bien équilibré.
    Par contre, avec ce mot, si je regarde après l'ajout dans la table j'ai: équilibré.

    Mon type de champ possède le langage latin1_swedish_ci.

    Comment faire pour bien insérer équilibré?
    Merci

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    Essaye de convertir ta table dans le set de caractères approprié. Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE ta_table CONVERT TO CHARACTER SET latin1 COLLATE latin1_bin
    Avec, bien sûr, les recommandations d'usage comme: fais une copie de ta table avant!

    Ce qui marche également sur les SELECT c'est ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM ta_table COLLATE latin1_bin
    Jamais testé avec un INSERT.

  3. #3
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Merci à toi mais cet interclassement ne fonctionne pas non plus Ni dans le SELECT.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    Qu'est-ce que ça m'a déjà énervé ce problème d'accent!

    Et latin1_general_ci non plus sans doute?

    EDIT:

    Que donne:

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Peux-tu fournir le code PHP d'insertion ?
    Pou visualiser le contenu de la base, qu'utilises-tu ?

  6. #6
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Citation Envoyé par ripat
    Qu'est-ce que ça m'a déjà énervé ce problème d'accent!

    Et latin1_general_ci non plus sans doute?

    EDIT:

    Que donne:
    Sur ma page php quand je fais la requête j'ai:
    Array
    (
    [Collation] => big5_chinese_ci
    [Charset] => big5
    [Id] => 1
    [Default] => Yes
    [Compiled] => Yes
    [Sortlen] => 1
    )
    Sinon latin1_general_ci ne change rien.


    Citation Envoyé par Yogui
    Salut

    Peux-tu fournir le code PHP d'insertion ?
    Pou visualiser le contenu de la base, qu'utilises-tu ?
    Mon code d'insertion est simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $db->insert = array("word" => trim($_POST['word']));
    $db->insert("_words");
    Je peux aussi mettre la fonction insert() de ma classe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # Insérer des données
    function insert($table) {
       global $configuration, $fields, $entries;
       $table = $configuration['prefix'].$table;
       foreach($this->insert as $key => $value) {
          $fields .= $key.',';
          $entries .= $this->quote_smart($value).",";
       }
       $fields = substr($fields, 0, strlen($fields) - 1);
       $entries = substr($entries, 0, strlen($entries) - 1);
       $this->query("INSERT INTO ".$table."(".$fields.") VALUES(".$entries.")");
       $this->insert = array();
    }
    Pour visualiser ma base, j'utilise PhpMyAdmin 2.6.1

    Merci

  7. #7
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut


    Depuis quand y a-t-il des accents (alphabet européen) en chinois ?

    Essaie de faire une table neuve en charset latin et d'y insérer un accent. Les données déjà entrées en bdd sont probablement à supprimer.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SQL] caractère accentués transformés en é
    Par guian dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 20/08/2008, 11h54
  2. execution requete sql caractère spéciaux
    Par label55 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 07/02/2008, 17h04
  3. SQL et caractères spéciaux
    Par winx69 dans le forum SGBD
    Réponses: 3
    Dernier message: 29/07/2005, 14h00
  4. [SQL Server] problème de caractères spéciaux
    Par mbibim63 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 02/06/2005, 18h38
  5. Transformation XSL et caractères spéciaux
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 4
    Dernier message: 28/04/2003, 10h38

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