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 :

htmlspecialchars et UTF-8 [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 htmlspecialchars et UTF-8
    Bonjour à tous,

    Je lis un fichier ANSI, je le mets en UTF-8 dans ma base.
    Je fais donc un htmlspecialchars($str, ENT_QUOTES, 'UTF-8');
    Pour l'afficher, je fais un htmlspecialchars_decode($str, ENT_QUOTES);
    Le soucis est que les \ ont disparu. Pourtant je n'utilise pas d'autres fonctions de protection.

    Magic quotes désactivés et mysql_real_escape_string non utilisée.

    Si vous avez une idée, partagez la !
    Merci à tous..

  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 tu veux convertir en UTF8 il faut utiliser utf8_encode.

    Je ne vois pas pourquoi les \ disparaissent avec htmlspecialchars, il faudrait voir la chaine de départ et la chaine d'arrivé pour comprendre.
    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 pour ta réponse au taquet

    In : Les caractères suivants ne sont pas autorisés : | \ / : * ? " < > |
    Out : Les caractères suivants ne sont pas autorisés : | / : * ? " < > |
    (en gros il est remplacé par un espace)

    Je ne comprend pas trop non plus et je suis obligé d'utiliser htmlspecialchars pour les simple quotes..
    Pas besoin du utf8_decode car ma page est en UTF8. (entête content-type)

    La seule chose que je fais c'est htmlspecialchars(utf8_encode($str), ENT_QUOTES, 'UTF-8')

    Edit : Si ça peut aider, mon champ de table est en utf8_unicode_ci..

  4. #4
    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
    Pour ceux qui auront le même soucis :
    - Lisant un fichier ANSI, je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str_replace('\\', '\', htmlspecialchars(utf8_encode($str), ENT_QUOTES))
    - A l'affichage, je n'applique aucune fonction sur le résultat SQL.
    - Si je dois exporter ces infos dans un fichier ANSI, je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    utf8_decode(htmlspecialchars_decode($str))

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

Discussions similaires

  1. [io] UTF-8 et Eclipse
    Par michaelbob dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 25/05/2005, 10h27
  2. msXML compatible avec UTF-16
    Par cathar_rhythm dans le forum MFC
    Réponses: 1
    Dernier message: 23/05/2005, 15h42
  3. Réponses: 1
    Dernier message: 04/04/2005, 16h16
  4. Mozilla & UTF-8
    Par SergioF dans le forum Applications et environnements graphiques
    Réponses: 6
    Dernier message: 11/05/2004, 14h00
  5. [WebForms] Encodage, UTF-8 et accents
    Par alexischmit dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 28/04/2004, 12h21

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