8792 sujets

Développement web côté serveur, CMS

Bonjour, j'ai recherché sans aucun résultat comment résoudre mon problème d'accentuation de mon code asp.

Explication :
J'ai une base de données access dans laquelle il y a des textes que je fais lier sur mes pages ASP par le code suivant :
<%=getMsg(n°52)%>"

Sur mes pages (asp) le texte apparait correctement sauf qu'il manque toutes les lettres comportant un accent.
Exemple/ "vous tes connect" ; il manque le ê et le é.

A l'aide svp
Smiley biggol

J'ai mal formulé ma question ou alors personne n'a idée de la manière de résoudre ce problème ?
Administrateur
Bonjour,

on est samedi, le forum a été peu actif (même pour un samedi) et les experts de l'ASP se reconnecteront peut-être que lundi depuis le boulot Smiley cligne
Bonjour.

Je vais contribuer très modestement. Je ne connais rien ni en asp, ni en access.

Si j'avais eu ce problème en php, j'incriminerais un problème d'encodage...

Donc,
- 1ere question: quel est l'encodage de votre page html (généralement iso-8859, ou utf-8)
- 2eme : Avez-vous moyen de vérifier si access a enregistré les messages avec les accents (à l'aide d'un programme d'administration permettant de visualiser la table)

A ce stade, si les accents n'ont pas été enregistrés, il faut revoir le module de saisie.

Mais, si les accents sont enregistrés, il faut dégotter dans le langages d'access (ou plutôt asp) une fonction équivalente à utf8_encode($ma_chaine) ou l'inverse utf8_decode($ma_chaine).

Je m'explique : Access a stocké les données soit en ascii (iso-8859 ou autre), soit en utf-8. Il convient (à mon très très humble avis, vu que je n'y connais rien) de faire coincider cet encodage avec celui de la page html...
Bonjour GeorgesM,

Merci de ta reponse mais j'ai bien vérifié ma DB qui comporte et renvoie bien les accentuations. Mes pages sont bien au format UTF-8 car j'ai des pages venant de cette même DB qui affichent bien les accents.

Le message envoyé et reçu est de ce type :

http://localhost//_message.asp?message=Impossible+d%27ajouter+cette+quantit%E9+du+aux+restrictions+de+stock

Peu-être que ça pourra vous aider Smiley confus .
Bonjour.

La base de donnée et le stockage des messages hors de cause, tant mieux.

Maintenant, nous avons un script asp nommé "_message.asp" chargé d'afficher un message transmis dans l'url sous cette forme :

message=Impossible+d%27ajouter+cette+quantit%E9+du+aux+restrictions+de+stock


- Donc ce message est transmis par méthode GET
- il nécessite un décodage. (remplacer les %hh par leurs caractères respectifs)

Je crois qu'on récupère les variables GET avec QueryString("message")

au début de "_message.asp"

   message = QueryString("message")
   message = replace(message,"+"," ")
   message = unescape(message)


Deux liens qui m'ont inspirés..

http://www.asp-php.net/tutorial/asp-php/querystring.php

http://www.asp-php.net/tutorial/asp-php/glossaire.php?glossid=59
Dans la même page ASP:

J'ai une fonction : <%=getMsg(581)%> qui fonctionne très bien et qui met l'accent là ou il le faut.

J'ai une autre fonction : Message=getScreenMessage(request.querystring("message"),3000)

<%=Message%>
: qui elle ne renvoie pas d'accent.

Les phrases à rapporter sur la page ASP sont inclues dans la même table de la DB.

Smiley langue Si ça peut vous aider.
Modifié par lola (07 Nov 2006 - 10:51)
... Compléter la ligne
Message=getScreenMessage(request.querystring("message"),3000)

avec :

Message = replace(Message,"+"," ")
Message = unescape(Message)


???
Modifié par GeorgesM (07 Nov 2006 - 17:58)
Rien à faire... ça ne fonctionne pas !
Modifié par lola (09 Nov 2006 - 08:02)