Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

acento en un mailto

80 views
Skip to first unread message

Tazz

unread,
Apr 29, 2009, 4:13:14 PM4/29/09
to
hola amigos, espero me puedan ayudar porque de verdad me tiene esto
muy complicado, harto en un HtmlGenericControl un texto y en medio de
el, creo un href con un mail de esta manera

pInfoGral.InnerHtml = pInfoGral.InnerHtml & "<a href='mailto:" &
DestinoMail & "&subject=" & Asunto.ToString & "'><B>aquí</B></a>.<BR>"

mi problema es que cuando ese asunto tiene acepto no me aparece en
forma correcta, al levantar el outlook me sale asi el caracter ó
donde debia aparecer un ó que puedo hacer? alguna idea de porque
pasa eso, si yo levanto una pagina html normal no tengo problema,
espero su ayuda xD me tiene chato los malditos acentos.


^^[[Tazz]]^^
Stgo., Chile

Jose A. Fernandez

unread,
Apr 30, 2009, 9:59:20 AM4/30/09
to
Hola Tazz

Estaria bueno que nos muestres como se renderiza ese control entonces
vemos que realmente esta todo bien o
Ejemplo
<a
href="mailto:ferna...@gmail.com&subject=áéíóúñÑÁÉÍÓÚ">Email Ejemplo
1</a>

<a
href="mailto:ferna...@gmail.com&subject=&aacute;&eacute;&iacute;&oacute;&uacute;&ntilde;&Ntilde;&Aacute;&Eacute;&Iacute;&Oacute;&Uacute;">Email
Ejemplo 2</a>

Estas dos versiones de arriba tiene el mismo efecto, la diferencia es
que la segunda esta escrita con HTML entities, para los caracteres
"fuerta del estadar je" como los symbolos y acentuaciones

OPCION 1:
-----------------
Para poder escribir esto en un texto en la pagina deberias
Dim cadenaCodificada As String = HttpUtility.HtmlEncode
("áéíóúñÑÁÉÍÓÚ")

Enlaces
------------
- Convierte una cadena en una cadena codificada en HTML.
http://msdn.microsoft.com/es-es/library/system.web.httputility.htmlencode.aspx

En este coso particular te conviene la opcion 1 porque quieres
codificar solo una parte de tu texto que vas concatenando que es la
parte de Subject.
Pero en otros casos te convendria uitilzar un control que trae esta
codificacion mas facil... es la opcion 2

OPCION 2:
-----------------
Utilizando el Webcontorl Literal con la propiedad Mode establecida en
Encode
"Para muestra basta un boton..." (esto decia mi abuela)
Asi que aqui te dejo un articulo sobre este tema
- Simple pero poderozo: Literal webcontrol
http://geeks.ms/blogs/fernandezja/archive/2007/08/29/simple-pero-poderozo-literal-webcontrol.aspx


TIP: Concatenacion de cadenas
-------------------------------------
Para realizar esta tarea


pInfoGral.InnerHtml = pInfoGral.InnerHtml & "<a href='mailto:" &
DestinoMail & "&subject=" & Asunto.ToString & "'><B>aquí</B></
a>.<BR>"

Te recomiendo de esta forma
Dim cadenaEnlaces As New System.Text.StringBubilder
Dim enlaceTemplate As String = "<a href='mailto:{0}&subject=
{1}'><strong>aquí</strong></a>.<br />"

..repetir esto:
cadenaEnlaces.Append(String.Format(enlaceTemplate, DestinoMail,
Asunto.ToString)

pInfoGral.InnerHtml = cadenaEnlaces.ToString()

Puedes buscar esto como Cadenas Inmutables
(...)Un objeto String se denomina inmutable (de sólo lectura) porque
no se puede modificar su valor una vez que se ha creado. Los métodos
que aparentemente modifican un objeto String devuelven en realidad un
nuevo objeto String que contiene la modificación. Si realmente es
necesario modificar el contenido de un objeto de tipo cadena, hay que
utilizar la clase System.Text.StringBuilder.(...)

Enlaces:
---------------
- String (Clase)
http://msdn.microsoft.com/es-es/library/system.string.aspx
- StringBuilder
Representa una cadena de caracteres modificable
http://msdn.microsoft.com/es-es/library/system.text.stringbuilder.aspx
- Using the StringBuilder Class
http://msdn.microsoft.com/es-es/library/2839d5h5(en-us,VS.71).aspx


Espero que te sirva de ayuda o guia
______________________
Jose A. Fernandez
blog:http://geeks.ms/blogs/fernandezja

Tazz

unread,
May 4, 2009, 11:01:55 AM5/4/09
to
Jose,
Gracias por tu interes, ya lo solucione, en todo caso habia
probado con ambos formatos incluso los de javascript, quedo todo
corregido al reemplazar los caracteres de acento y las ñ por los de
internet safe caracter ( algo asi, pero son los que quedan en la ulr
cuando envias un parametro co acento, ejemplo :%20 <-- espacio en
blanco.


^^[[Tazz]]^^
Stgo., Chile


On 30 abr, 09:59, "Jose A. Fernandez" <fernande...@gmail.com> wrote:
> Hola Tazz
>
> Estaria bueno que nos muestres como se renderiza ese control entonces
> vemos que realmente esta todo bien o
> Ejemplo
>           <a

> href="mailto:fernande...@gmail.com&subject=áéíóúñÑÁÉÍÓÚ">Email Ejemplo
> 1</a>
>
>         <a
> href="mailto:fernande...@gmail.com&subject=&aacute;&eacute;&iacute;&oacute;&uacute;&ntilde;&Ntilde;&Aacute;&Eacute;&Iacute;&Oacute;&Uacute;">Email


> Ejemplo 2</a>
>
> Estas dos versiones de arriba tiene el mismo efecto, la diferencia es
> que la segunda esta escrita con HTML entities, para los caracteres
> "fuerta del estadar je" como los symbolos y acentuaciones
>
> OPCION 1:
> -----------------
> Para poder escribir esto en un texto en la pagina deberias
>     Dim cadenaCodificada As String = HttpUtility.HtmlEncode
> ("áéíóúñÑÁÉÍÓÚ")
>
> Enlaces
> ------------
>    - Convierte una cadena en una cadena codificada en HTML.

>      http://msdn.microsoft.com/es-es/library/system.web.httputility.htmlen...


>
> En este coso particular te conviene la opcion 1 porque quieres
> codificar solo una parte de tu texto que vas concatenando que es la
> parte de Subject.
> Pero en otros casos te convendria uitilzar un control que trae esta
> codificacion mas facil... es la opcion 2
>
> OPCION 2:
> -----------------
> Utilizando el Webcontorl Literal con la propiedad Mode establecida en
> Encode
> "Para muestra basta un boton..." (esto decia mi abuela)
> Asi que aqui te dejo un articulo sobre este tema
>  - Simple pero poderozo: Literal webcontrol

>    http://geeks.ms/blogs/fernandezja/archive/2007/08/29/simple-pero-pode...

0 new messages