Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    57

    creazione di un xml con asp da caratteri in cirillico

    Ciao a tutti,
    sul mio db ho testi in russo ma del tipo seguente:
    Б&#1102

    quindi se li apro con un browser li leggo bene: Бюджет в топе: тест-драйв моноприводной

    ma il problema si pone quando devo creare un xml e il suo contenuto rimane Б&#1102 ecc.
    Dovrei renderli leggibili come cirillico
    Premesso che nel db non posso far entrare i caratteri se non come ho detto sopra e che sostituendo encoding=uft-8'? al posto dell'attuale encoding='iso-8859-1'? entrano sempre caratteri in codice, come posso fare per risolvere il problema? Ovviamente la pagina è in asp.
    Spero di aver spiegato in modo comprensibile.
    Grazie per l'aiuto,
    Giorgio

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,657
    Quote Originariamente inviata da 6giorgio Visualizza il messaggio
    Premesso che nel db non posso far entrare i caratteri se non come ho detto sopra e che sostituendo encoding=uft-8'? al posto dell'attuale encoding='iso-8859-1'? entrano sempre caratteri in codice

    Spero di aver spiegato in modo comprensibile.
    quando leggo domande così "scomposte" mi viene sempre l'ansia...

    hai verificato che tutte la catena del file usati abbia la codifica utf-8?

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    57
    Beh, forse l’ho fatta troppo lunga pensando di spiegare meglio. Sinteticamente: nel DB ho inevitabilmente testi in caratteri speciali. Acquisendoli per creare xml anche con htf-8 rimangono caratteri speciali e non si legge in cirillico.
    So che in php si può fare la conversione ma ho tutto in asp e non saprei come fare.
    Grazie

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,657
    quindi: hai caratteri speciali (cirillico) nel db che vorresti passare ad un xml, giusto?
    o hai le loro entità? nell'esempio specifico ю corrisponde ad ю

    per il carattere Б la sua entità è Б
    minuscolo: б, entità б

    dici:
    sul mio db ho testi in russo ma del tipo seguente:
    Б&#1102
    ma questa sembra una mescola tra caratteri speciali ed entità...


    ma il problema si pone quando devo creare un xml e il suo contenuto rimane Б&#1102
    che pare sia corretto: passa sia i caratteri che le entità... cosa non va bene? vuoi convertire le entità prima di stamparle nel file xml? o dopo in fase di lettura da browser?


    Premesso che nel db non posso far entrare i caratteri se non come ho detto sopra e che sostituendo encoding=uft-8'? al posto dell'attuale encoding='iso-8859-1'? entrano sempre caratteri in codice,
    "entrano i caratteri in codice"... che codice? intendi entità?
    e non riesci a scriverli in cirillico? da dove li inserisci?
    Ultima modifica di Vincent.Zeno; 18-01-2018 a 23:12

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    57
    Faccio un esempio concreto.
    Con un file asp vado ad acquisire questo testo così come inserito nel campo del DB:
    &# 1057;&# 1085;&# 1080;&# 1084;&# 1080;&# 1090;&# 1077; &#1 101;&# 1090
    (ho messo uno spazio dopo # altrimenti in questo post si convertono...)
    Sempre con lo stesso file asp vorrei creare un file xml convertendo quanto sopra in caratteri cirillici leggibili all’interno del file xml.
    E’ questo che non riesco a fare. Quindi, come dici tu, vorrei “convertire le entità prima di stamparle nel file xml”.
    Ultima modifica di 6giorgio; 19-01-2018 a 11:32

  6. #6
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,657
    purtroppo...
    Microsoft, in its infinite wisdom decided not to include an HTMLDecode function with their Server component
    http://www.flogiston.be/blog/2008/10...ns/#htmldecode
    bisogna quindi utilizzare una funzione e settare tutti i singoli valori, un esempio:
    codice:
    Function HTMLDecode(sText)
        Dim I
        sText = Replace(sText, """, Chr(34))
        sText = Replace(sText, "<" , Chr(60))
        sText = Replace(sText, ">" , Chr(62))
        sText = Replace(sText, "&" , Chr(38))
        sText = Replace(sText, " ", Chr(32))
            For I = 1 to 255
                sText = Replace(sText, "&#" & I & ";", Chr(I))
            Next
        HTMLDecode = sText
    End Function
    al posto di Chr(nn) potrai usare i caratteri reali
    in pratica, al momento della creazione del file xml, convertirai tutte le entità


    altrimenti, se hai la gestione del server, puoi tentare con questa libreria:
    https://www.example-code.com/asp/asp...ity_decode.asp
    Ultima modifica di Vincent.Zeno; 19-01-2018 a 13:43

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    57
    Ho applicato quando da te suggerito e ho risolto alla grande!!!
    Grazie mille
    Giorgio

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 © 2024 vBulletin Solutions, Inc. All rights reserved.