Foros del Web » Programando para Internet » ASP Clásico »

Upload archivo codificacion utf-8

Estas en el tema de Upload archivo codificacion utf-8 en el foro de ASP Clásico en Foros del Web. Hola a todos, Estoy haciendo una pagina web con multi-idioma y utilizo la codificacion utf-8 en todas las paginas, poniendo: <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> Pues ...
  #1 (permalink)  
Antiguo 11/01/2006, 02:26
Avatar de silvia1977  
Fecha de Ingreso: abril-2005
Mensajes: 54
Antigüedad: 17 años, 4 meses
Puntos: 0
Upload archivo codificacion utf-8

Hola a todos,

Estoy haciendo una pagina web con multi-idioma y utilizo la codificacion utf-8 en todas las paginas, poniendo:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Pues bien, tengo una pagina que tiene un formulario multipart/form-data que te permite subir un archivo o imagen al servidor y para ello utilizo la función BuildUploadRequest que tengo definida en un archivo. Seguidamente recojo el valor del archivo... pero cuando llego a este codigo me falla:

Set MyFile2 = fs2.CreateTextFile(path1 & "media\serviceimg\" & filename2)
For i = 1 to LenB(value)
MyFile2.Write chr(AscB(MidB(value,i,1))) <-- EN ESTA LINEA FALLA
Next

Yo pienso que es por la codificación porque en ISO si me funciona:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

Pero yo necesito que me lo subo en utf-8 ya que la pagina web debe soportar chino, griego...

Bueno estuve buscando por internet y encontre que si a la función CreateTextFile le pones los parametros true y -1 de la siguiente forma:

Set MyFile2 = fs2.CreateTextFile(path1 & "media\serviceimg\" & filename2, true, -1)

te sube un fichero en modo unicode o utf-8 y la verdad es que me funciono!! ya no me daba error pero me baje la imagen y los archivos que habia subido a traves del formulario y la imagen no se veia (aparecia la tipica cruz roja de imagen no disponible) y el archivo lo abri y estaba todo codificado con caracteres raros!!!

¿Alguién podria ayudarme y decirme que puedo hacer para subir archivos en una web con utf-8?

Gracias, espero vuestras respuestas.

Saludos
__________________
Silvia - Castellón :arriba:
  #2 (permalink)  
Antiguo 11/01/2006, 12:18
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 16 años, 7 meses
Puntos: 7
¿Has tratado de codificar la sesion segun el idioma? Me refiero al LCID. Para el español es asi:

Código:
      if instr(request.ServerVariables("HTTP_ACCEPT_LANGUAGE"),"es") then Session.LCID = 1034
Se tiene que poner antes del tag HTML

Un saludo
  #3 (permalink)  
Antiguo 12/01/2006, 03:46
Avatar de silvia1977  
Fecha de Ingreso: abril-2005
Mensajes: 54
Antigüedad: 17 años, 4 meses
Puntos: 0
Codificación

Al final lo que hice es utilizar otro metodo para subir el fichero, eso ya me funciona.

Ahora el problema viene porque en las paginas donde tengo un formulario enctype="multipart/form-data" no me codifica los acentos ni el idioma chino... pero en las otras páginas si...

Es super raro. Todo este rollo viene porque tengo guardadas todas las paginas de la web en formato utf-8 para que me codifique bien todos los idiomas. Las he guardado con el programa EmEditor, donde tu abres la pagina y la guardas en el formato que quieras. Yo las guardo con utf-8 y selecciono la opcion Add a Unicode Signature (BOM). Tambien he probado a guardalas sin seleccionar esta opcion y tampoco me funciona en algunas paginas.

¿Alguien me puede ayudar? Tengo guardada una pagina en utf-8 y contiene un formulario multipart/form-data donde pido un nombre y una imagen y utilizo el freeaspupload para subir la imagen. El formulario funciona bien y sube la imagen y todo pero si le pongo un acento al campo nombre al guardar no me codifica bien los acentos ni los idiomas chino, griego...

Que xungo es esto! Necesito ayuda!! que hago?

__________________
Silvia - Castellón :arriba:
  #4 (permalink)  
Antiguo 12/01/2006, 09:27
Avatar de silvia1977  
Fecha de Ingreso: abril-2005
Mensajes: 54
Antigüedad: 17 años, 4 meses
Puntos: 0
Solución

Bueno por si a alguién le interesa la solución...

El problema que me daba era que al enviar un formulario con enctype="multipart/form-data" y con codificacion en la pagina utf-8 no me guardaba bien los acentos, me ponia caracteres raros en el idioma chino...

eso se soluciona poniendo en el formulario enctype="multipart/form-data: charset=utf-8" y ya esta. Al final no encontré por el google.

Chao
__________________
Silvia - Castellón :arriba:
  #5 (permalink)  
Antiguo 12/01/2006, 11:14
Avatar de silvia1977  
Fecha de Ingreso: abril-2005
Mensajes: 54
Antigüedad: 17 años, 4 meses
Puntos: 0
ooooooooo nooooooo

Resulta que ahora me da error al enviar el formulario con el formato enctype="multipart/form-data: charset=utf-8" y el freeaspupload (www.freeaspupload.net) que es el paquete que yo utilizo para subir el fichero.

¿Alguien me puede decir que tengo que añadir para que me coja correctamente la codificación?
__________________
Silvia - Castellón :arriba:
  #6 (permalink)  
Antiguo 01/04/2010, 03:52
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 18 años, 7 meses
Puntos: 6
Respuesta: Upload archivo codificacion utf-8

Se que esto es muy viejo pero he estado peleando por solucionarlo ya que tenía el mismo problema...

La solución la encontré en este post:
http://bytes.com/topic/asp-classic/a...le-overwriting

El fichero de la modificación de freeaspupload.asp es este:
http://bytes.com/attachments/attachm...puploadmod.txt

Espero que le sirva a alguien porque realmente a mi me tenía matadooooo!!
  #7 (permalink)  
Antiguo 17/06/2010, 10:22
 
Fecha de Ingreso: marzo-2009
Mensajes: 19
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Upload archivo codificacion utf-8

Me encontré con el mismo problema esa solución funciona perfecto, GRACIAS!!!
  #8 (permalink)  
Antiguo 04/09/2010, 13:26
Avatar de mdromed  
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 12 años, 11 meses
Puntos: 8
Respuesta: Upload archivo codificacion utf-8

Perdon por subirlo de nuevo pero tengo el mismo problema de los caracteres raros al subir un archivo.
Lo que pasa es que yo no uso "freeaspupload"

He probado enviando el formulario con enctype="multipart/form-data: charset=utf-8" pero no funciona.

Para tratar el contenido del fichero subido uso "AppendChunk" de esta manera:

Código:
Set rsvalbin=server.CreateObject("ADODB.Recordset")
bytes = Request.TotalBytes
datosbin = Request.BinaryRead(bytes)

rsvalbin.Fields.Append "campo",adLongVarChar,bytes
	rsvalbin.Open 
	rsvalbin.AddNew
	rsvalbin("campo").AppendChunk datosbin
	rsvalbin.Update 
	datosCad = rsvalbin.Fields("campo") 'Los guardamos en una variable	
rsvalbin.Close()
Set rsvalbin = Nothing

response.write datosCad
Gracias
  #9 (permalink)  
Antiguo 05/09/2010, 11:44
Avatar de mdromed  
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 12 años, 11 meses
Puntos: 8
Respuesta: Upload archivo codificacion utf-8

Nadie sabe nada?
  #10 (permalink)  
Antiguo 05/09/2010, 12:39
Avatar de mdromed  
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 12 años, 11 meses
Puntos: 8
Respuesta: Upload archivo codificacion utf-8

Lo que quiero hacer es tratar correctamente los acentos y eñes del fichero html que generan los navegadores al exportar los favoritos (marcadores), cuando hago un upload desde una pagina asp a un servidor de BD para guardarlo.

Pero me he dado cuenta de que dicho fichero html, una vez exportado desde el navegador, ya contiene los acentos y eñes mal, es decir, que es el propio navegador es el que lo exporta mal, digamos.

Ademas ningun navegador da la posibilidad de exportar los favoritos en UTF-8.

Esto no parece tener solucion verdad.

En esta misma linea ¿funcionaria convertir dicho contenido del fichero html previamente a ISO o Latin, ... para que se corrigieran dichos caracteres raros?
Si se puede hacer esto ¿Cuales son las funciones apropiadas para hacer dicha conversion con asp clasico?

Los caracteres raros generados por la exportacion de los navegadores no siempre son iguales (supongo pq algunos iran en ISO... y otros en LAtin, ...).

Son de este tipo:

"á" equivale a "á"
"é" equivale a "é"
"ó" equivale a "ó"
.
.
.
.
etc...
  #11 (permalink)  
Antiguo 15/03/2011, 06:53
 
Fecha de Ingreso: marzo-2005
Mensajes: 276
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Upload archivo codificacion utf-8

yo utilizo freeASPUpload tb y he conseguido que los acentos se traten bien cambiando
objStream.Charset = "utf-8" por
objStream.Charset = "iso-8859-1"

Por si a alguién le puede ser útil ahí lo dejo...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:27.