• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

max

erro de caracteres no envio para outra página

9 mensagens neste tópico

Boas, tenho 1 formulário de email em flash que faz envio através de recurso a página ASP.NET

Estou a usar:

...
newEntry.sendAndLoad("sendmail.aspx?nome=" + newEntry.nome + "&mail=" + newEntry.mail + "&msg=" + newEntry.msg, newEntry, "POST");
...

O problema é qd envio campos com acentos.

Como ele passa dados pelo url, n pode enviar por exemplo "é" e tem de enviar "%E9"

E qd eu abro o mail para confirmar, as letras que têm acentos n aparecem!

Alguém me dá uma dica de como pôr meu script asp.net a enviar o acento para o mail?

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que o método POST envia os dados através do url, experimenta com o método GET que é ao contrário do POST e vê se worka.

Se isso criasse um ficheiro metias a ser gravado em UTF-8 e assim já aceita caracteres especiais como os acentos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Heyas,

esta ao contrario Gimbras.

O metodo GET passa as variaveis na URL, o que nao é aconselhado para formularios uma vez que tem numero limite de caracteres.

E sim, tens de dizer no teu server-side script que queres utilizar UTF-8...agora eu nao pesco "niete" de .NET...sou mais amigo do PHP.

Fiquem bem

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Heyas,

permitam-me corrigir o meu "mistake".

A situaçao dos caracteres nao se prende no Flash ou PHP ou .NET ou "whatever", mas sim no atributo CHARSET da tag <HTML>.

Para utilizar o conjunto onde os nossos caracteres se enquadram devera de ter "ISO-8859-1".

Fiquem bem

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não funciona!!

Na minha página aspx eu pus então:

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

E continua a n funcionar.

Eu fiz um teste:

Numa página flash fiz:

geturl("http://localhost/teste.aspx?nome="+caixa.text,blank);

e na caixa de texto pus "zé"

a variavel que me passou no browser foi:

http://localhost/teste.aspx?nome=z%E9

Na minha página aspx fiz um simples response.write(request.querystring("nome"))

e só me aparece "z"

Por isso n consigo pôr isso a funcionar e a aparecer-me "zé"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já consegui, estava a pôr aquela linha no html, mas tinha tb de adiciona-la no web config

Já consigo enviar paginas com acentos, mas agora tenho outro problema.

quando escrevo texto numa caixa de texto multiline, e faço várias linhas (com "enter"), o texto que me aparece no mail n tem essas linhas. Aparece como se fosse uma frase.

Mas o problema disto n é do asp e sim no flash.

Eu fiz o teste de ver o que é que ele passa no url, e se eu escrever:

"aaa

bbb"

ele passa-me a variável: "&msg=aaabbb"

tens alguma dica?

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

sim o gajo nao reconhece o ENTER.

O conselho que te dou é passares o texto com formataçao HTML. Tal e qual como temos aqui no forum a hipotese de clicar em B e I e U tambem podes adicionar um BR (break).

No entanto estou-te a responder a isto as 3am de sabado...ou seja, a carola ja nao esta a bombar. Durante o dia vou dar uma olhada na coisa e digo mais coisas novamente.

Fica bem

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas, já a curaste ? :)

se conseguires dar uma ajudinha mais promenorizada eu agradeço!

eu carreguei naquele icon "html" na minha caixa do input text, mas n funcionou! ;)

obrigado,

Max

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora