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

MS SQL Server Discussion :

Champs XML dans SQL Server2005 et encodage


Sujet :

MS SQL Server

  1. #1
    Membre éprouvé
    Avatar de octal
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 441
    Points : 957
    Points
    957
    Par défaut Champs XML dans SQL Server2005 et encodage
    Bonjour,
    voilà, j'ai des enregistrements contenant un champs XML (non structuré) dans une base SQLServer2005.
    J'essaie de récupérer le contenu de mon champs en faisant un Select
    (le but est de ranger le contenu du champs XML dans une variable PHP5)

    ma requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $query = "SELECT DossierID, DossierXML from [dbo].DOSSIERS where DossierID = '$id_dossier'";
    Voilà, après je récupère le champs XML (DossierXML) dans une variable PHP5.
    Tous marche bien sauf que : le contenu XML que je récupère est correcte mais ne contient pas le prolog XML, c'est à dire l'entete indiquant l'encodage du genre:
    <?xml version="1.0" encoding="ISO-8859-1"?>

    1- Y a t'il un moyen de forcer SQL server à retourner ce champs avec son encodage?
    2- Si oui, y a t'il un moyen de le forcer à retourner le contenu XML dans un encodage particulier (par défaut il retourne tout en UTF16 je pense).

    PS. Le champs DossierXML n'a pas de longueur fixe, ... il peut avoir n'importe qu'elle taille.

    Cordialement
    Octal

  2. #2
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    Oui, l'encodage est en UTF-16. Il n'y a pas de moyen de récupérer le contenu d'une colonne XML dans un autre encodage.
    Des infos plus précises ici : http://msdn2.microsoft.com/en-us/library/ms345115.aspx

  3. #3
    Membre éprouvé
    Avatar de octal
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 441
    Points : 957
    Points
    957
    Par défaut
    Merci, c'est bien ce qui me semblait.
    Maintenant le pb est le suivant:
    Quand je fait mon select, le code retourné dans le champs XML est bien le source XML encodé en UTF16 donc, mais il n'y a pas dedans le prologue (entête indiquant l'encodage) XML. Devrais le rajouter à la mains dans le genre

    $ChampXml='<?xml version="1.0" encoding="UTF-16"?>'.$ChampXml;

    pour pouvoir parser correctement le flux XML retourné?

    Cordialement
    Octal

  4. #4
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Probable. Tu utilises PHP on dirait. Quelle bibliothèque d'accès ? les fonctions intégrées ? Elles se basent sur une vieille technologie. C'est peut-être le problème.

Discussions similaires

  1. Binding d'un champ XML dans un controle
    Par Bibbox dans le forum ASP.NET
    Réponses: 2
    Dernier message: 31/03/2009, 15h57
  2. Binding d'un champ XML dans un controle
    Par Bibbox dans le forum ASP
    Réponses: 0
    Dernier message: 30/03/2009, 19h08
  3. Récupérer un champ xml dans un champ http post
    Par soso78 dans le forum VB.NET
    Réponses: 0
    Dernier message: 02/03/2009, 12h28
  4. Réponses: 9
    Dernier message: 28/08/2007, 10h38
  5. Parametre d'un champ text dans sql server
    Par Arthis dans le forum ASP
    Réponses: 1
    Dernier message: 24/04/2006, 14h21

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