Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problemes d'accent francais en ASP.NetSQL Server 2000

2 réponses
Avatar
yaaak
Bonjour
mon config indique la ligne suivante
<globalization fileEncoding="utf-8" culture="fr-FR" uiCulture="fr"
requestEncoding="iso-8859-1" responseEncoding="iso-8859-1" />

ENsuite je saisis le developpeur avec l'accent grave en bon francais koi
dans ma base de donnée je recois
Développeur
c pas joli,
quel reglage de config.web resout ce problème svp.???
Si je dois effectuer un traitement spécifique avant d'inserer les donnes
dans SQL Server??
Merci pour toute reponse.

2 réponses

Avatar
Lionel LASKE
Quel est le type de ta colonne dans SQL Server ?
Est-ce un CHAR, VARCHAR ou NCHAR, NVARCHAR ?
D'aprés l'erreur que tu décris, il semble que la base de données stocke de
l'ANSI alors que tu lui envoi de l'UNICODE.
Si c'est le cas:
- soit tu passes tes requêtes en ANSI en passant par un Encoding.Convert:
- soit tu restes en UNICODE et tu modifies le type de données des colonnes
SQL Server.


Lionel.

"yaaak" a écrit dans le message de news:

Bonjour
mon config indique la ligne suivante
<globalization fileEncoding="utf-8" culture="fr-FR" uiCulture="fr"
requestEncoding="iso-8859-1" responseEncoding="iso-8859-1" />

ENsuite je saisis le developpeur avec l'accent grave en bon francais koi
dans ma base de donnée je recois
Développeur
c pas joli,
quel reglage de config.web resout ce problème svp.???
Si je dois effectuer un traitement spécifique avant d'inserer les donnes
dans SQL Server??
Merci pour toute reponse.






Avatar
Alexis KARTMANN
En fait ta configuration indique que tes fichiers sont en UTF-8, alors que
les échanges avec le navigateur (requet et réponse) se fait en iso-8859-1.
Ce qui explique que les données soit stockés dans ta base en UTF-8. Ce n'est
pas vraiment un problème parce que l'internaute doit tout voir correctement,
non ?
Si tu veux que les données soit stocker en iso-8859-1, plusieurs solutions:
1) Passe fileEncoding en iso-8859-1, mais il faudra convertir tout tes
fichiers ASPX (c'est lourd).
2) Passe tout en UTF-8 dans ton config, et utilise des NCHAR ou NVARCHAR
dans ta base de donnée. Comme ça tu pourra utiliser tout les caractères
unicode et ajouter du japonais par exemple...
3) Convertie tes chaines avant utilisation. Il faut utiliser quelque chose
comme
Encoding iso88591 = new Encoding(28591);
Encoding unicode = Encoding.Unicode;
byte[] unicodeBytes = unicode.GetBytes(unicodeString);
byte[] isoBytes = Encoding.Convert(unicode, ascii, unicodeBytes);
char[] isoChars = new char[iso88591.GetCharCount(isoBytes, 0,
isoBytes.Length)];
iso88591.GetChars(isoBytes, 0, isoBytes.Length, isoChars , 0);
string isoString = new string(isoChars );
Mais je ne l'ai pas testé et c'est quand même bien lourd.