Stockage de donnees en arabe [Résolu]

cedricperes 38 Messages postés jeudi 3 mai 2007Date d'inscription 18 décembre 2008 Dernière intervention - 16 sept. 2008 à 12:30 - Dernière réponse : cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention
- 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 

Votre réponse

2 réponses

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

Merci cedricperes 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

Commenter la réponse de cedricperes
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 4 oct. 2008 à 19:32
0
Merci
Tiens, PostgreSQL utilise aussi le prefix N dans les scripts ?

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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.