probleme cgi ,utf-8 r3
rosanoff4-Mar-2019/6:27:17
Bonjour,
j'ai un problème de retour de code utf-8. Le fichier est écrit aussi en utf-8. la réponse du cgi me retourne un mauvais codage.
 #!/bin/r3 -cs
 REBOL []

 handle-get: funct [] [
 print [
 "Content-type: text/html" crlf crlf
 ]
 print [
 {
 <!DOCTYPE html>
 <html lang="br">
 <head>
 <meta charset="UTF-8">
 <title>Title ofthe document</title>
 </head>
 <body>
 }
 ]
prin [
<form method="post">
"Your name:"
<input type="text" name="nom">
<br>"Your surname:"
<input type="text" name="surss">
<input type="submit">
</form>
]
]

handle-post: funct [] [
print [
"Content-type: text/html" crlf crlf
]
print [
{
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Title ofthe document</title>
</head>
}
]
data: read/string system/ports/input

fields: parse data "&="

if error? try [
value:  dehex select fields "nom"
value: replace/all value "+" " "

val: [ "hello," (join value " !")]
 ]
                 [ val: " pas de choix ! " ]
 if error? try [
values: dehex  select fields "surss"
values: replace/all values "+" " "
vals: [ "prénom:," (join values " !")"<br>"]
  ]
                 [ vals: " pas de prénom ! " ]

do prin val
do prin vals
 ]

switch get-env "REQUEST_METHOD" [
"GET" [handle-get]
"post" [handle-post]
 ]

 print[{
 dédé est bon
 </body>
 </html>
 }
 ]


le résultat affiché :
hello, dédé !prénom:, dédé !
dédé est bon

donc j'ai un problème de codage, mais quoi ?
Si quelqu'un a une solution, je suis preneur.
Merci par avance.

PS; j'ai testé en C et en shell et là pas de problème donc ce n'est pas un problème de configuration serveur (h2o server )
PierreCh13-Mar-2019/12:02:37
Bonjour,

Désolé, je ne pratique pas le Rebol3.
Et sur Rebol2, il arrive que ça soit frustrant, ces soucis d'encodage...
En revanche, sur Red, ça tourne sans anicroche, avec nos (mauvais) caractères de gaulois et autres peuples réfractaires.

Oui, je sais, c'est inconstructif.

Alors juste une piste à la noix, un peu pénible, mais bon: afficher une consigne pour faire entrer à l'utilisateur quelque chose comme:
dédé


Je sais, c'est très c0n. J'ai pas mieux sous la main.
PierreCh13-Mar-2019/12:04:38
C'est surtout très c0n quand le rendu n'est pas ce que je souhaitais!...

En l'occurrence, j'avais mis ça, en en ôtant les espaces:
d & e a c u t e ; d & e a c u t e ;


(en espérant que ça passe)
rosanoff16-Mar-2019/7:01:38
Bonjou,
merci pou vos réponses.
Concernant RED je n'ai pas trouvé comment faire du cgi. Je pense que cela n'est pas encore possible. Donc je patiente.
Cordialement.

Login required to Post.


Powered by RebelBB and REBOL 2.7.8.4.2