Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [Msxml2.XMLHTTP] problema nella conversione in testo

    Ciao a tutti.
    Mi sono fatto un paio di funzioncine per scaricarmi il contenuto delle pagine web ed infilarlo in un db.

    Per esempio:
    function EstraiTesto(link)
    Dim objXMLHttp

    'Instanzio l'oggetto XMLHttp
    Set objXMLHttp = Server.CreateObject("Msxml2.XMLHTTP")

    'Costruisco e invio la richiesta
    objXMLHttp.Open "GET", link, False
    objXMLHttp.Send

    'Estraggo la risposta
    stringaHTML=(objXMLHttp.responseText)
    EstraiTesto=cleanCode(stringaHTML)

    'Faccio pulizia
    Set objXMLHttp = Nothing
    end function

    Come vedete esiste una seconda funzione cleancode() che vi spiegherò successivamente... ma il problema esiste già con questa.

    In alcuni casi mi sostituisce alcuni caratteri con un "?".
    Il fatto è che mi pare ciò avvenga con le lettere accentate... ed ecco la funzione cleanCode() che dovrebbe risolvere il problema.
    function cleanCode(stringa)
    stringa=replace(stringa,"à","a'")
    stringa=replace(stringa,"è","e'")
    stringa=replace(stringa,"é","e'")
    stringa=replace(stringa,"ì","i'")
    stringa=replace(stringa,"ò","o'")
    stringa=replace(stringa,"ù","u'")
    stringa=replace(stringa,vbtab,"")
    stringa=replace(stringa,vbcrlf,"")
    stringa=replace(stringa,vblf,"")
    stringa=replace(stringa,vbcr,"")
    stringa=replace(stringa,vbNullChar,"")
    stringa=replace(stringa,vbFormFeed,"")
    stringa=replace(stringa,vbVerticalTab,"")
    stringa=replace(stringa,"","")

    cleanCode=StringaPulita
    end function

    In realtà cmq il problema non è risolto. Per qualche ragione alcune lettere accentate mi vengono sostituite con il "?".
    La cosa non sarebbe grave se non fosse che al momento dell'inserimento nel db (mySQL) mi viene restituito un errore...
    ho fatto un left(stringa, i) progressivo, fino ad individuare che quando arrivo al fatidico "?" l'inserimento non funziona più!
    quindi, tutto è ok se non ci sono ? mentre appena compare un ? non inserisco più nel db.
    Ho provato anche un replace del "?" ma niente, il carattere rimane presente.

    Probabilmente è l'oggetto Msxml2.XMLHTTP che non riesce a funzionare correttamente... qualcuno di voi ha avuto lo stesso problema?

    grazie,
    Cesare

  2. #2
    Pare che il problema si di encoding...
    Ho trovato qualche cosa che mi fa pensare al fatto che tutti i caratteri superiori ai 128 (8 bit) non vengano riconosciuti...

    Ora bisogna vedere se è possibile intervenire nel processo di identificazione dei caratteri...

  3. #3
    ho risolto facendo un server.htmlencode... giusto per la cronaca...

    ciao!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.