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

ASP.NET Discussion :

Insertion de Caracteres Espagnols


Sujet :

ASP.NET

  1. #1
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 218
    Par défaut Insertion de Caracteres Espagnols
    Salut,

    J'essaie d'inserer des caracteres espagnoles (avec accents) de ASP.NET dans mon BD, mais apres avoir effectue ExecuteNonQuery, ces caracteres sont remplaces par des '?' !

    Dans mon web.config, j'ai ajoute:

    <globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="auto" uiCulture="auto"/>
    Dans ma page, j'ai ajoute:

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8 ">
    Pourtant ca ne marche pas. Ma BD est Oracle et son NL_LANG est: AMERICAN_AMERICA.AR8MSWIN1256

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Et ça marche avec les accents français ? Vu l'encodage de la base, à mon avis non.

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 218
    Par défaut
    oui et meme en arabe!

  4. #4
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 218
    Par défaut
    Lorsque j'utilise: string encodedstring = server.encode(text) ca marche!
    Mais ca ne doit pas marcher si l'endoing est UTF-8 dans le web.config?

  5. #5
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    requestEncoding="utf-8" responseEncoding="utf-8"
    On parle ici de la Request (client vers serveur) et de la Response (serveur vers client) qui sont envoyées en UTF8, pas de ce qui se passe dans l'exécution du code (.NET continue à utiliser des string UTF16 etc.). L'objet Server ne contient pas de méthode Encode : tu parles peut-être de HtmlEncode ? Dans ce cas, ça doit fonctionner car le caractère spécial est remplacé par son entité HTML (&...;) ce qui va probablement poser un soucis dans la restauration des données hors interface web.

  6. #6
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 218
    Par défaut
    Merci pour votre reponse! Mais il existe une solution sans utiliser le htmlencode/decode, non ?
    Je veux fixer l'econding entre le serveur web et ma BD.

  7. #7
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Il doit y avoir un moyen dans Oracle pour voir tous les caractères que contient l'encodage de base que tu utilises. Il est possible que cet encodage ne gère pas les caractères accentués espagnols : la seule autre solution serait alors probablement de modifier l'encodage de la base.

    A ma connaissance, et comme déjà expliquer dans plusieurs posts, un CommandText est une string ... et une string en .NET est forcément en UTF16 (et donc pas dans l'encodage de la base). C'est donc au fournisseur ADO.NET de la base soit de convertir automatiquement la requête en fonction de l'encodage de la base, soit d'avoir un paramètre dans la ConnectionString pour spécifier l'encodage du client.

  8. #8
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 218
    Par défaut
    C'est interessant, j'ai aucune idee comment ca se fait en .net:
    -ajouter un parametre encoding au connection string
    -ou ADO.net fait la conversion

    est-ce queque puvez-vous me fournir un exemple de code ?

    Merci d'avance!

  9. #9
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    J'ai oublié de préciser que le serveur peut le faire aussi...

    On n'a pas la main sur ça. Soit le serveur, le fournisseur ADO.NET le fait. Soit il existe un paramètre dans la chaîne de connexion, paramètre fourni par le développeur de la base de donnée et ça ne semble pas être le cas avec Oracle.

    Mon avis est donc que l'encodage actuel de la base ne dispose pas des caractères espagnols.

  10. #10
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 218
    Par défaut
    La BD dispose des caractères espagnols puisqu'elle accepte le latin et l'arabe en même temps. Le probleme réside dans la communication Client/Serveur.

Discussions similaires

  1. SHELL insertion de caractere et saut de ligne
    Par mangalor dans le forum Unix
    Réponses: 8
    Dernier message: 03/10/2009, 11h09
  2. Insertion du caractere euro sur SQL Server 2005 Express
    Par solidxiii dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 26/06/2008, 10h37
  3. insertion des caracteres : ’ et ‘ dans la bd
    Par mrdindo dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 16/06/2008, 04h21
  4. INSERT et caracteres speciaux
    Par elvivo dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 01/05/2007, 10h43
  5. Insertion de caractères
    Par azerty169 dans le forum Linux
    Réponses: 4
    Dernier message: 13/03/2006, 12h20

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