SQL serveur 2000 - Enregistrement de caractères Cyrillic

Le
Beedjees
Bonjour,

Je dispose d'un site en ASP intérogeant une base SQL serveur 2000
Ce site est actuellement en français et je souhaiterais le traduire en
Russe

Dans ma base, j'ai un champ "label_ru" qui contiendra des label Russe.
Lorsque je "copie-colle" un texte russe directement dans le champ via
Entreprise manager, le texte est bien affiché dans mon champ et lorsque je le
récupère en ASP, il s'affiche correctement :
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
session.CodePage = 65001

%>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<%
response.write("label_ru")
%>


Mais lorsque je souhaite enregistrer un label russe via un formulaire ou via
l'analyseur de requète, mon champ n'affiche que des ??????? ????
UPDATE maTable SET label_ru = 'Сделайте' WHERE id=1
SELECT label_ru FROM matTable WHERE id=1
renvoi => ????? ?????

Y aurait il une astuce ? Je ne trouve pas beaucoup d'aide sur internet
Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Philippe TROTIN [MS]
Le #11869091
Ce message est composé et au format MIME.

------=_NextPart_000_000D_01C80438.11E0BD40
Content-Type: text/plain;
charset="Utf-8"
Content-Transfer-Encoding: quoted-printable

Bonjour,

Quelques pistes :

1. Mettez un profiler pour voir ce qui se passe au niveau de l'ordre SQL passé à SQL Server

2. Peut être :
UPDATE maTable SET label_ru = N'Сделайте' WHERE id=1
SELECT label_ru FROM matTable WHERE id=1



Cordialement
_______________________________

Philippe TROTIN
Microsoft Services France
_______________________________

"Beedjees"
Bonjour,

Je dispose d'un site en ASP intérogeant une base SQL serveur 2000
Ce site est actuellement en français et je souhaiterais le traduire en
Russe...

Dans ma base, j'ai un champ "label_ru" qui contiendra des label Russe.
Lorsque je "copie-colle" un texte russe directement dans le champ via
Entreprise manager, le texte est bien affiché dans mon champ et lorsque je le
récupère en ASP, il s'affiche correctement :
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
session.CodePage = 65001
...
%>
...
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<%
response.write("label_ru")
%>
...

Mais lorsque je souhaite enregistrer un label russe via un formulaire ou via
l'analyseur de requète, mon champ n'affiche que des ??????? ????
UPDATE maTable SET label_ru = 'Сделайте' WHERE id=1
SELECT label_ru FROM matTable WHERE id=1
renvoi => ????? ?????

Y aurait il une astuce ? Je ne trouve pas beaucoup d'aide sur internet...
Merci


------=_NextPart_000_000D_01C80438.11E0BD40
Content-Type: text/html;
charset="Utf-8"
Content-Transfer-Encoding: quoted-printable

ÿþ <HTML><HEAD>
<META http-equiv=Conten t-Type content="text/htm l; charset=unicode">
<BODY id=MailContainerB ody
style="PADDING-RI GHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 10pt; COLOR: #000000; PADDING-TOP: 15px; FONT-FAMILY: Arial"
bgColor=#ffffff leftMargin=0 topMargin=0 CanvasTabStop="tr ue"
name="Compose message area" acc_role="text">
<DIV>Bonjour,<BR>< /DIV>
<DIV>Quelques pistes :</DIV>
<DIV>&nbsp;</DIV>
<DIV>1. Mettez un profiler pour voir ce qui se passe au niveau de l'ordre SQL
passé à SQL Server</DIV>
<DIV>&nbsp;</DIV>
<DIV>UPDATE maTable SET label_ru = <STRONG><FONT
color=#ff0000>N</ FONT></STRONG>'!45; 09B5' WHERE id=1<BR>SELECT label_ru FROM
matTable WHERE id=1<BR></DIV>
<DIV><BR><BR>Cordi alement<BR>________ __________________ _____<BR><BR>&nbsp; &nbsp;&nbsp;
Philippe TROTIN<BR>&nbsp;&n bsp;&nbsp; Microsoft Services
France<BR>________ ___________________ ____<BR><BR>"Beedj ees"
&lt;Beedjees@discu ssions.microsoft.co m&gt; a écrit dans le message de groupe de
discussion : B40E47C0-BCDF-4EF3 -8679-18703F05887E@ microsoft.com...<B R>&gt;
Bonjour,<BR>&gt; <BR>&gt; Je dispose d'un site en ASP intérogeant une base SQL
serveur 2000<BR>&gt; Ce site est actuellement en français et je souhaiterais le
traduire en "label_ru" qui contiendra des label Russe. <BR>&gt; Lorsque je "copie-colle" un
texte russe directement dans le champ via <BR>&gt; Entreprise manager, le texte
est bien affiché dans mon champ et lorsque je le <BR>&gt; récupère en ASP, il
s'affiche correctement :<BR>&gt; &lt;%@LANGUAGE="V BSCRIPT"
CODEPAGE="65001"% &gt; ... content="text/htm l; charset=utf-8"&gt ;<BR>&gt; &lt;%<BR>&gt;
response.write("la bel_ru") lorsque je souhaite enregistrer un label russe via un formulaire ou via <BR>&gt;
l'analyseur de requète, mon champ n'affiche que des&nbsp; ??????? ????<BR>&gt;
UPDATE maTable SET label_ru = '!45;09B5' WHERE id=1<BR>&gt; SELECT label_ru FROM
matTable WHERE id=1<BR>&gt; renvoi =&gt; ????? ?????<BR>&gt; <BR>&gt; Y aurait
il une astuce ? Je ne trouve pas beaucoup d'aide sur internet...<BR>&gt ;
Merci</DIV></BODY> </HTML>

------=_NextPart_000_000D_01C80438.11E0BD40--
Beedjees
Le #11869071
Bonjour,

Bien vu !
J'avais déjà commencé à travailler sur votre première proposition.
L'ordre SQL utilisé est la procédure stockée "sp_executesql" qui a priori
est récomendée pour exécuter une chaîne Unicode.

Mais la solution la plus simple est votre deuxième proposition : placer un
"N" devant la chaine unicode. L'aide en ligne d'SQL serveur 2000 le signalait
: "les constantes Unicode sont spécifiés avec N comme première lettre :
N'chaîne Unicode' ;"

Mon problème est donc résolu !

Merci pour vos conseils.
Cordialement.

"Philippe TROTIN [MS]" a écrit :

Bonjour,

Quelques pistes :

1. Mettez un profiler pour voir ce qui se passe au niveau de l'ordre SQL passé à SQL Server

2. Peut être :
UPDATE maTable SET label_ru = N'Сделайте' WHERE id=1
SELECT label_ru FROM matTable WHERE id=1



Cordialement
_______________________________

Philippe TROTIN
Microsoft Services France
_______________________________

"Beedjees" > Bonjour,
>
> Je dispose d'un site en ASP intérogeant une base SQL serveur 2000
> Ce site est actuellement en français et je souhaiterais le traduire en
> Russe...
>
> Dans ma base, j'ai un champ "label_ru" qui contiendra des label Russe.
> Lorsque je "copie-colle" un texte russe directement dans le champ via
> Entreprise manager, le texte est bien affiché dans mon champ et lorsque je le
> récupère en ASP, il s'affiche correctement :
> <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
> <%
> session.CodePage = 65001
> ...
> %>
> ...
> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
> <%
> response.write("label_ru")
> %>
> ...
>
> Mais lorsque je souhaite enregistrer un label russe via un formulaire ou via
> l'analyseur de requète, mon champ n'affiche que des ??????? ????
> UPDATE maTable SET label_ru = 'Сделайте' WHERE id=1
> SELECT label_ru FROM matTable WHERE id=1
> renvoi => ????? ?????
>
> Y aurait il une astuce ? Je ne trouve pas beaucoup d'aide sur internet..


Pierre Goiffon
Le #11869061
Beedjees wrote:
Je dispose d'un site en ASP intérogeant une base SQL serveur 2000
Ce site est actuellement en français et je souhaiterais le traduire en
Russe...

Dans ma base, j'ai un champ "label_ru" qui contiendra des label Russe.
Lorsque je "copie-colle" un texte russe directement dans le champ via
Entreprise manager, le texte est bien affiché dans mon champ et lorsque je le
récupère en ASP, il s'affiche correctement :
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
session.CodePage = 65001
...
%>
...
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<%
response.write("label_ru")
%>
...

Mais lorsque je souhaite enregistrer un label russe via un formulaire ou via
l'analyseur de requète, mon champ n'affiche que des ??????? ????



Il y a plusieurs choses à regarder :
- la communication entre le serveur web et le navigateur
- l'environnement du traitement côté serveur web
- la communication entre le traitement côté serveur web et le serveur SQL
- la conception de la base au sein du serveur SQL

Visiblement, vos pages sont envoyées avec les bons paramètres charset.
Vérifiez quand même déjà que le contenu est correctement récupéré du
formulaire dans l'application Web.
Ensuite, vérifiez le codage utilisé pour la connexion au serveur SQL !
Philippe TROTIN [MS]
Le #11868691
Heureux d'avoir pu vous aider. :-)

Cordialement
_______________________________

Philippe TROTIN
Microsoft Services France
_______________________________

"Beedjees" groupe de discussion :
Bonjour,

Bien vu !
J'avais déjà commencé à travailler sur votre première proposition.
L'ordre SQL utilisé est la procédure stockée "sp_executesql" qui a priori
est récomendée pour exécuter une chaîne Unicode.

Mais la solution la plus simple est votre deuxième proposition : placer un
"N" devant la chaine unicode. L'aide en ligne d'SQL serveur 2000 le
signalait
: "les constantes Unicode sont spécifiés avec N comme première lettre :
N'chaîne Unicode' ;"

Mon problème est donc résolu !

Merci pour vos conseils.
Cordialement.

"Philippe TROTIN [MS]" a écrit :

Bonjour,

Quelques pistes :

1. Mettez un profiler pour voir ce qui se passe au niveau de l'ordre SQL
passé à SQL Server

2. Peut être :
UPDATE maTable SET label_ru = N'Сделайте' WHERE id=1
SELECT label_ru FROM matTable WHERE id=1



Cordialement
_______________________________

Philippe TROTIN
Microsoft Services France
_______________________________

"Beedjees" de groupe de discussion :

> Bonjour,
>
> Je dispose d'un site en ASP intérogeant une base SQL serveur 2000
> Ce site est actuellement en français et je souhaiterais le traduire en
> Russe...
>
> Dans ma base, j'ai un champ "label_ru" qui contiendra des label Russe.
> Lorsque je "copie-colle" un texte russe directement dans le champ via
> Entreprise manager, le texte est bien affiché dans mon champ et lorsque
> je le
> récupère en ASP, il s'affiche correctement :
> <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
> <%
> session.CodePage = 65001
> ...
> %>
> ...
> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
> <%
> response.write("label_ru")
> %>
> ...
>
> Mais lorsque je souhaite enregistrer un label russe via un formulaire
> ou via
> l'analyseur de requète, mon champ n'affiche que des ??????? ????
> UPDATE maTable SET label_ru = 'Сделайте' WHERE id=1
> SELECT label_ru FROM matTable WHERE id=1
> renvoi => ????? ?????
>
> Y aurait il une astuce ? Je ne trouve pas beaucoup d'aide sur
> internet..




Publicité
Poster une réponse
Anonyme