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 :

UTF-8 et SET NAMES 'UTF8'


Sujet :

PHP & Base de données

  1. #1
    Membre chevronné Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Par défaut UTF-8 et SET NAMES 'UTF8'
    Bonjour à tous,

    Bon voilà, j'ai un module de traduction de textes.
    Pour une chaîne donnée, chacun poste la traduction qu'il juge pertinent et meilleure que les précédentes.

    Je gère tout ça en UTF-8 forcément. J'arrive à rechercher sans problème des sous-chaines avec un Like, tout va bien.

    Le soucis est que certains traducteurs ont inséré le caractère suivant "…" (points de suspension en un seul caractère) à la place de "..." (3 points à la suite).
    Donc je me suis dit, je vais corriger et rechercher ce caractère.
    Le soucis est là.
    Rien ne m'est retourné.
    Lorsque je print la requête et l'exécute directement dans mySQL, tout va bien.

    Je me suis tourné alors vers :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("SET NAMES 'UTF8'");
    mais du coup, toutes les propositions sont encodées bizarrement.
    J'ai essayé un utf8_decode ou utf8_encode, rien n'y fait.

    Conclusion : Si j'enlève le fameux SET NAMES, je peux à nouveau afficher correctement les propositions de traduction mais pas rechercher ce caractère spécial !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Si quand tu mets la connexion en UTF8 tes chaines ne sont plus bien affichées, je dirais que ton fichier .php n'est pas encodé en UTF8 lui meme.
    Verifie dans ton editeur de texte ou avec notepad++
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre chevronné Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Par défaut
    Merci sabotage pour ta réponse si rapide.

    J'utilise effectivement Notepad++ et dans l'onglet Format, c'est bien UTF8 (sans BOM) qui est sélectionné pour ce fichier.

Discussions similaires

  1. Equivalent SET NAMES 'utf8' ds MsSql
    Par khadir dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 04/04/2009, 12h01
  2. [MySQL] Appliquer SET NAMES 'utf8' de manière automatique
    Par Evocatii dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 11/03/2009, 18h14
  3. [MySQL] Éviter SET NAMES 'utf8' ?
    Par Evocatii dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/01/2009, 21h51
  4. [MySQL] problème mysql_query('SET NAMES 'UTF8'')
    Par saidkh dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 02/03/2007, 21h48
  5. Quand insérer : mysql_query("SET NAMES 'utf8'");
    Par Mister Paul dans le forum Requêtes
    Réponses: 18
    Dernier message: 17/02/2007, 23h08

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