Stockage de donnees en arabe [Résolu]

Messages postés
38
Date d'inscription
jeudi 3 mai 2007
Statut
Membre
Dernière intervention
18 décembre 2008
- - Dernière réponse : cs_coq
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
- 4 oct. 2008 à 19:32
Bonjour





Je suis en train de développer un site web multilingue en ASP.NET C#. Je stocke mes données dans une base SQL Server. <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>





Coté application, je récupère bien mes données en arabe (pas de problèmes d’encodage et d’affichage).





Si j’insert directement dans ma base de données (pas avec une requête SQL mais en ouvrant ma table), les données en arabe sont bien enregistrées (donc la config de ma base de données accepte l’arabe).





Par contre, quand j’insère mes données avec une requête SQL, mon texte en arabe est remplacé par des points d’interrogation.







exemple  : 

   UPDATE
maTable SET MaColonne ='
















ÇáãÒíÏ ãä ÇáãÚáæãÇÊ¡ íÑÌì










'

WHERE … 


   è


j’obtiens dans ma table : ?????? ?? ?????????? ????








 






Au niveau de mon application, j’utilise l’encodage utf-8 (
<
meta

http-equiv
="content-type"
content
"text/html; charsetutf-8"
/>

)





Au niveau de ma base de données j’utilise la collation SQL_Latin1_General_CP1_CI_AS






 






Quelqu’un aurait-il une idée d’où vient le problème ?






Merci





Cedric
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
38
Date d'inscription
jeudi 3 mai 2007
Statut
Membre
Dernière intervention
18 décembre 2008
3
Merci
Bonjour

J'ai eu la solution a ce probleme qui vient en fait de mes requetes sql. Mon application et la base de données étaient bien configurées.

Il faut uniquement "forcer" la base de données a enregistrer les données en unicode. Cela se traduit dans la requete sql en mettant un N devant la valeur a insérer dans la table.

exemple : INSERT INTO 'MaTable' (data1,data2,....) VALUES (N'Val1', N'Val2', ... )
et de meme dans une requete UPDATE : UPDATE 'MaTable' SET data1=N'Val1'...

Cedric

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 213 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cedricperes
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
75
0
Merci
Tiens, PostgreSQL utilise aussi le prefix N dans les scripts ?

/*
coq
MVP Visual C#
CoqBlog
*/
Commenter la réponse de cs_coq