Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/07/2008, 09:37
Avatar de pempas
pempas
 
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 21 años, 4 meses
Puntos: 6
Capturar texto en UTF-8 y pasarlo a ISO-8859-1

Buenas,

Tengo una Web que está codificada en ISO-8859-1 y uso una función para recoger un texto de otra página que tengo que revisar regularmente, la función es esta:

Código PHP:
 Public Function ConsultaRemotaHTML(URL)
  
On Error Resume Next
  Dim Consul
  Set Consul 
Nothing
  Set Consul 
Server.CreateObject("WinHttp.WinHttpRequest.5.1")
  If 
Consul Is Nothing Then Set Consul CreateObject("WinHttp.WinHttpRequest")
  If 
Consul Is Nothing Then Set Consul CreateObject("MSXML2.ServerXMLHTTP")
  If 
Consul Is Nothing Then Set Consul CreateObject("Microsoft.XMLHTTP")
  
'Consul.SetProxy 2, Proxy, ""
  Consul.Option(6) = True
  Consul.Open "GET", Trim(URL), False
  Consul.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
  Consul.SetRequestHeader "Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7"
  Consul.Send()
  Consul.WaitForResponse(180) '
Esperamos 3 minutos como máximo.
  If 
Consul.status 200 Then ESTADO OK
   ConsultaRemotaHTML 
Consul.ResponseText
  
Else
   
ConsultaRemotaHTML ""
  
End If
  
Set Consul Nothing
 End 
Function 
La historia está en que en la otra página la información está en UTF-8 y cuando la recogo me viene de esta guisa:

Cita:
Vendedor: HP
Código del producto: PL766AA#ABB
Categoría: monitores TFT
Código EAN/UPC: 0829160568744, 0829160568584
Es decir, los acentos y demás se van al garete, he probado mil historias, como por ejemplo cambiar la codificación con esta instrucción:

Código PHP:
Response.Charset="UTF-8" 
Por supuesto funciona, pero el resto del texto de la Web me lo escibe mal... porque cambia todo...

Pensando he llegado a la conclusión que quizás poniendo un "SetRequestHeader" que me indique como quiero esa codificación funcionase pero no sé como hacerlo, tan solo necesito que me llegue el texto con el acento o la ñ, luego ya me preocuparé yo de transformarlo a ISO como pueda.

¿Alguien ha tenido algún problema similar?

Por si sirve de más ayuda, estoy intentando consultar los archivos de Icecat, que es un proyecto de información informática libre.

Gracias!