Stockage de donnees en arabe

Résolu
cedricperes Messages postés 38 Date d'inscription jeudi 3 mai 2007 Statut Membre Dernière intervention 18 décembre 2008 - 16 sept. 2008 à 12:30
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre 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
A voir également:

2 réponses

cedricperes Messages postés 38 Date d'inscription jeudi 3 mai 2007 Statut Membre Dernière intervention 18 décembre 2008
29 sept. 2008 à 15:35
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
3
Rejoignez-nous