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 :

Caractères Unicode & enregistrement sql


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 16
    Par défaut Caractères Unicode & enregistrement sql
    Bonjour,

    Je rencontre un problème pour enregistrer correctement un caractère dans une base sql.

    il s'agit de celui ci :


    Caractère : ‧ U+2027
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Nom : HYPHENATION POINT
    Propriétés générales des caractères
    Bloc : Ponctuation générale
    Catégorie Unicode : Ponctuation, autre
    Diverses représentations utiles
    UTF-8 : 0xE2 0x80 0xA7
    UTF-16 : 0x2027
    UTF-8 en C octal échappé : \342\200\247
    Entité décimale XML : ‧
    J'ai essayé plusieurs traitements coté PHP sans succès.
    En rentrant directement dans la base le caractère est correctement affiché.

    Quelqu'un connaitrait il le traitement a appliquer avant enregistrement ?
    Merci.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut

    Attention : les entités XML ( é ) ou HTML ( é ) ne sont pas faites pour être enregistrées en base mais uniquement pour afficher des caractères qui ne sont pas supportés par le format de sortie.

    Pourquoi tu n'insères pas ton caractère en base dans son format natif ? A condition que ta base soit en UTF-8, of course..

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 16
    Par défaut
    Salut,

    Désolé mais Je ne suis pas sur de comprendre.

    Ma base est bien en UTF-8.

    Pour être plus précis, j'ai un formulaire avec un input text.
    Après enregistrement des données postées, dans la base, ce genre de caractère n'est pas reconnu et est remplacé.

    Pourquoi tu n'insères pas ton caractère en base dans son format natif ?
    >>>> hmm? comment ça ? sans traitement du genre htmlspecialchar avant enregistrement ? (Avant d'avoir essayé ce genre de traitement je n'en avais aucun et j'obtenais le même résultat.)

  4. #4
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    sans traitement du genre htmlspecialchar avant enregistrement ?
    Je dirais même, surtout pas.
    Ces fonctions sont théoriquement faites pour encoder/décoder des entités au niveau de la page html.

    Théoriquement, il n'y a pas pas besoin d'avoir recourt à htmlspecialchar, aux entités html, car l'utf-8 rassemble (presque) tous les caractères.


    Peut être que c'est dès la réception du contenu qui cause problème.
    Le charset de ta page Web, celui du formulaire, est il aussi en utf-8 ?

    As tu essayé cette requête avant insertion : SET NAMES utf8

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 16
    Par défaut
    Salut,

    ... c'est noté pour htmlspecialchars.

    sinon, j'utilise bien SET NAMES utf8.

Discussions similaires

  1. Réponses: 6
    Dernier message: 11/04/2012, 16h58
  2. Unicode, chaîne de caractères et fichier enregistré
    Par yoshik dans le forum Général Python
    Réponses: 12
    Dernier message: 27/07/2009, 19h16
  3. [JDOM] caractère unicode de fin de ligne
    Par iceman dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 31/03/2009, 03h15
  4. [Batch] Enregistrer dans un fichier en caractères unicode
    Par damsmut dans le forum Scripts/Batch
    Réponses: 6
    Dernier message: 18/07/2008, 09h14
  5. Réponses: 2
    Dernier message: 18/10/2007, 09h13

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