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 :

comment insérer les caractères spéciaux dans sql server 2005


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 33
    Points : 24
    Points
    24
    Par défaut comment insérer les caractères spéciaux dans sql server 2005
    Bonjour,
    j'utilise php5 avec sql server 2005, le problème c'est que je n'arrive pas à insérer des caractères spéciaux dans la base de données!
    pour mes pages web j'utilise l'encodage ISO-8859-1 et j'arrive pas à connaitre l'encodage de ma base de données sql server!!! j'ai modifié l'encodage de mes pages en UTF-8 et toujours ça marche pas!!!
    j'ai utilisé la fonction UTF_encoding() ça fonctionne mais les caractères spéciaux sont insérés dans la base sous forme de caractères bizarre non compréhensibles!!
    quelqu’un peut m'aider pour trouver une solution?
    Merci d'avance

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 774
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 774
    Points : 52 746
    Points
    52 746
    Billets dans le blog
    5
    Par défaut
    Les SGBDR disposent d'une couche d'abstraction des données qui n'a que peu de chose à voir avec l'encodage de caractère et que l'on appelle la collation. Voir l'article que j'ai écrit à ce sujet : http://sqlpro.developpez.com/cours/s...er/collations/

    Lorsque vous utiliserez la collation adéquate, tous ces problème disparaitrons.

    Les SGBDR travaillent toujours au niveau logique et jamais au niveau physique (page de code).

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Ne serait-ce pas plutôt le fait que vous utilisez une colonne dont le type n'est pas nchar ou nvarchar ?
    En effet un tel type de colonne permet de stocker n'importe quel caractère de n'importe quel alphabet.

    La collation en revanche établit l'ordre de tri qui doit être en vigeur

    @++

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 33
    Points : 24
    Points
    24
    Par défaut
    je vous explique:
    la collation de ma base de données est French_Ci_SA, quand je saisie manuellement de texte avec des caractères accentués dans ma base ça fonctionne et elle les accepte.

    1) j'ai fait un 1er teste: j'ai mis l'encodage de mes pages web en UTF-8, quand je lance la requete d'insertion de données avec caractères accentués ça fonctionne bien, mais le problème c'est que ces caractères accentués sont insérés sous forme de caratères bizarre, et je ne veux pas ça!, et plus que ça les caractères spéciaux je n'arrive pas à les affichés correctement !

    2)2eme teste: j'ai mis l'encodage de mes pages en ISO-8859-1, quand je lance la requete d'insertion de données avec caractères accentués ça plante!! mais par contre je peux afficher correctement les caractères accentués!

    j'ai essayé de convertir le texte en UCS-2 et UCS-2L qui utilise sql server mais toujours pas de solution ça ne fonctionne pas!!
    SVP, quelqu'un peut m'aider, je n'arrive pas à trouver une solution ça me bloque et je n'arrive pas à avancer sur mon projet,
    c'est URGENT
    Merci d'avance

  5. #5
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    La collation ne gère pas les caractères ni la façon dont ils sont affichés.
    Faites comme je vous l'ai conseillé dans la réponse précédente : passez vos colonnes au type nchar ou nvarchar.

    @++

  6. #6
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 33
    Points : 24
    Points
    24
    Par défaut
    Mes champs sont deja nvarchar
    le problème c'est que ma base de données est partagée avec une autre application infopath et donc je dois insérer correctement les caractères accentués pour que l'autre application puisse les afficher aussi correctement!!
    je peux faire la conversion en hexadicimal ou UTF-8 mais coté infopath ça plante !!

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 774
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 774
    Points : 52 746
    Points
    52 746
    Billets dans le blog
    5
    Par défaut
    Ce n'est pas un problème SQL Server. C'est un problème côté client. Voyez dans les applications tierces.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Comment insérer des caractères spéciaux dans sa base de donnees
    Par YouKe dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 23/02/2015, 20h31
  2. Réponses: 5
    Dernier message: 01/02/2010, 01h14
  3. Réponses: 2
    Dernier message: 31/07/2009, 12h29
  4. Caractères spéciaux dans Sql Server
    Par LefortLudovic dans le forum Administration
    Réponses: 3
    Dernier message: 09/12/2008, 09h55
  5. Réponses: 1
    Dernier message: 13/03/2008, 17h56

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