# Caratteri specia li

**URL:** <https://www.ruby-forum.com/t/caratteri-specia-li/72554>\
**Category:** IT\
**Created:** [October 18, 2006, 1:12am UTC](https://www.ruby-forum.com/t/caratteri-specia-li/72554 "2006-10-18T01:12:27Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![d3vid](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/c0e974/32.png) [@d3vid](https://www.ruby-forum.com/u/d3vid)\
**Post date:** [October 18, 2006, 1:12am UTC](https://www.ruby-forum.com/t/caratteri-specia-li/72554/1 "2006-10-18T01:12:27Z")

</div>

Salve,  
visualizzando dei dati presi da un RSS, ottengo al posto dei caratteri  
specia li dei codici incomprensibili 🙂  
Esiste un metodo per ovviare al problema?  
Grazie mille

---

<div class="post-metadata">

**Author:** ![d3vid](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/c0e974/32.png) [@d3vid](https://www.ruby-forum.com/u/d3vid)\
**Post date:** [October 18, 2006, 12:41pm UTC](https://www.ruby-forum.com/t/caratteri-specia-li/72554/2 "2006-10-18T12:41:34Z")

</div>

Ieri era tardi e mi sono spiegato male, ripropongo il quesito:  
Vorrei implementare un piccolo feed RSS in un sito. Il codice che ho  
scritto Ã¨ il seguente:

\<%  
require ‘rss/2.0’  
require ‘open-uri’

open(‘[http://www.xoduslab.com/blog/?feed=rss2](http://www.xoduslab.com/blog/?feed=rss2)’) do |http|  
response = http.read  
result = RSS::Parser.parse(response,false)  
puts "Titolo del feed: "+result.channel.title  
result.items.each\_with\_index do |item, i|  
print “”  
print “#{item.title}”  
print “  
”  
end  
end  
%\>

Il problema Ã¨ che, laddove nel titolo ci siano apici o caratteri  
particolari, ottengo una serie di caratteri incomprensibili. Potete  
vedere il risultato qui:  
[http://www.xoduslab.com/testruby/](http://www.xoduslab.com/testruby/)

Come posso sistemare questa cosa?  
Grazie mille

---

<div class="post-metadata">

**Author:** ![d3vid](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/c0e974/32.png) [@d3vid](https://www.ruby-forum.com/u/d3vid)\
**Post date:** [October 18, 2006, 2:55pm UTC](https://www.ruby-forum.com/t/caratteri-specia-li/72554/3 "2006-10-18T14:55:54Z")

</div>

Sembra essere un problema di codifica dei caratteri. E’ unicode in  
ingresso? E la codifica della tua pagina? Dichiari un charset? Spari  
gli header giusti? Se sei sicuro che il browser sa che deve  
visualizzare il testo come unicode, allora può darsi che devi  
“aiutare” Ruby - che non parla unicode un granché - a traslitterare i  
caratteri.  
Un po’ di tempo fa avevo dei file .csv nati in Excel e codificati in  
UTF-16 (UTF-8 è molto più comune) e per poter usare FasterCSV per il  
parsing ho convertito tutto il file in Latin1 usando il commando  
“iconv” (cioè con un Kernel.exec dal mio script), quindi non so dirti  
esattamente come sono messe le librerie interne di Ruby (maluccio  
credo).  
Davide Di pasquale wrote:

Ieri era tardi e mi sono spiegato male, ripropongo il quesito:  
Vorrei implementare un piccolo feed RSS in un sito. Il codice che ho  
scritto è il seguente:

\<%  
require ‘rss/2.0’  
require ‘open-uri’

open(‘[1][http://www.xoduslab.com/blog/?feed=rss2](http://www.xoduslab.com/blog/?feed=rss2)’) do |http|  
response = http.read  
result = RSS::Parser.parse(response,false)  
puts "Titolo del feed: "+result.channel.title  
result.items.each\_with\_index do |item, i|  
print “”  
print “#{item.title}”  
print “  
”  
end  
end  
%\>

Il problema è che, laddove nel titolo ci siano apici o caratteri  
particolari, ottengo una serie di caratteri incomprensibili. Potete  
vedere il risultato qui:  
[2][http://www.xoduslab.com/testruby/](http://www.xoduslab.com/testruby/)

Come posso sistemare questa cosa?  
Grazie mille

```
_______________________________________________________________________

```

* * *

Ml mailing list  
[3]removed\_email\_address@domain.invalid  
[4][http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)

–  
“Remember, always be yourself. Unless you suck.” - Joss Whedon

References

1. [http://www.xoduslab.com/blog/?feed=rss2](http://www.xoduslab.com/blog/?feed=rss2)
2. [http://www.xoduslab.com/testruby/](http://www.xoduslab.com/testruby/)
3. [mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
4. [http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)

---

<div class="post-metadata">

**Author:** ![d3vid](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/c0e974/32.png) [@d3vid](https://www.ruby-forum.com/u/d3vid)\
**Post date:** [October 18, 2006, 4:04pm UTC](https://www.ruby-forum.com/t/caratteri-specia-li/72554/4 "2006-10-18T16:04:07Z")

</div>

Prima di tutto, grazie mille per avermi risposto.  
Quel codice Ã¨ incorporato in un file XHTML con charset specificato, te  
lo posto per intero:

test ruby \<% require 'cgi' require 'rss/2.0' require 'open-uri'

open(‘[http://www.xoduslab.com/blog/?feed=rss2](http://www.xoduslab.com/blog/?feed=rss2)’) do |http|  
response = http.read  
result = RSS::Parser.parse(response,false)  
puts "Titolo del feed: "+result.channel.title  
result.items.each\_with\_index do |item, i|  
print “”  
print “#{item.title}”  
print “  
”  
end  
end  
%\>

Il feed Ã¨ un normale feed rss2.0 con charset UTF-8. Ho provato a  
modificare il charset nelle impostazioni di wordpress e  
nell’content-type del RHTML ma mi si ripresenta sempre il medesimo  
problema.  
Se iconv Ã¨ la soluzione, come si usa?
