Newsgroup: it.comp.lang.perl
Titolo: xml simple e accentate

come faccio ad ottenere le accentate da un file xml?
il file xml è valido ed ha ISO-8859-1 ed accetta le accentate come à
è.
Quando estraggo i dati con xml simple non riesco ad ottenere il
carattere ma un simbolo strano (una A maiuscola con dieresi in testa)
Mi sto scervellando con caratteri ascii e conversioni ma ancora non ne
sono venuto fuori.
Qualche info?
--
www.pigmalion.info
www.pigmalion.info/perl/

sono venuto fuori.
Se capisco bene, non è XML::Simple che non riesce ad ottenere il carattere
giusto, ma la console che non riesce a visualizzarlo.
Configura la console per il set di caratteri ISO-8859-1, o converti i
caratteri nel set della console.
Ciao.

 Qualche info?
Io ho risolto mettendo all'inizio del documento XML :
my $XML = '<?xml version="1.0" encoding="iso-8859-1"?>'."\n";
 Raffaello

caratteri nel set della console.
sto provando a visualizzare questa maledetta 'à' in una pagina web che
ha gia il character encoding settato su iso-8859-1
per quanto riguarda visualizzarlo in console ci penserò dopo, anche
perchè penso tu ti riferisca alle console di linux ed io sto
attualmente testando su win.
Ma da qualche parte c'era un modulo che ti faceva pazziare con la
console di win... ma sarebbe troppo macchinoso se è così...
mmhh
--
www.pigmalion.info
www.pigmalion.info/perl/


e ce l'ho, ce l'ho
<?xml version="1.0" encoding="ISO-8859-1"?>
Stanotte ho provato a matchare a quale carattere corrispondeva sta 'à'
nella tabella ascii, ma o non ho capito la tabella ascii :) o non ho
fatto bene la re... mi dava subito il match... va be ero stanco.
Si ma mi sento come in arrampicata sugli specchi...
--
www.pigmalion.info
www.pigmalion.info/perl/

ha gia il character encoding settato su iso-8859-1
XML::Simple è... semplice. Non ha una gestione degli encoding, ma se gli
dai in pasto della roba già correttamente codificata, non dovrebbe
inventarsi strane cose: in sostanza credo che ti restituisca quello che gli
dai. Per questo continuo a pensare (e potrei, certo, sbagliarmi) che il
problema sia altrove.
Se hai la pretesa di ottenere un documento HTML correttamente formato (o,
addirittura, valido) con XML::Simple, probabilmente stai utilizzando lo
strumento sbagliato. Non che sia impossibile, ma XML::Simple fa molto poco
per aiutarti.
Se proprio butta male, trasforma i caratteri speciali nelle corrispondenti
entità. Questo dovrebbe funzionare sempre.
Ciao.

fatto bene la re... mi dava subito il match... va be ero stanco.
Nella "tabella ascii" 'à' non esiste. La codifica ASCII non contiene
caratteri accentati.
Nella code page 437, che è quella di solito più usata in Italia come
estensione dei codici ASCII, 'à' corrisponde al carattere 0x85 e,
viceversa, LATIN CAPITAL LETTER A WITH DIAERESIS corrisponde a 0x8E.
Nessuno di questi ha una qualche relazione con la codifica iso-8859-1 di
'à' (che è 0xE0) o di 'è' (che è 0xE8).
Ciao.

<?xml version="1.0" encoding="ISO-8859-1"?>
Ma... sia nell'XML in entrata che in quello in uscita?
Perché XML::Simple:;XMLIn, che utilizza XML::Parser, ne ha bisogno per
sapere di che codifica si tratta, mentre a XML::Simple::XMLOut, che non ne
sa niente di codifiche, devi dire esplicitamente la dichiarazione da
emettere (opzione xmldecl).
Ciao.


wrote:
innanzitutto, grazie a tutti per l'interessamento,

in entrata... sto infatti utilizzando solo XMLin per parsare un file
xml (creato da me o uno standard, da lo stesso risultato).
La situazione è questa:
io ho il file xml con le entity,
con xml parser leggo entity specifiche e le sparo in un file html da
visualizzare a browser, riesco cioè a fare:
 $categories->{category}->{perl}->{section}->{faq}->{description_ita},
per esempio e funziona.
Unico neo sto maledetto accento...
Prevedo un'altra nottata su sta storia...
--
www.pigmalion.info
www.pigmalion.info/perl/

Unico neo sto maledetto accento...
Riesci a pubblicare un piccolo esempio che riproduca il problema?
Ciao.