Carattere e accentato

ciao a tutti
ho notato quanto segue:
stringa = “il tempo è bello”
p stringa
produce
“il tempo \350 bello”
sapete dirmi qual è il modo migliore, più semplice, di ovviare al
problema?
grazie in anticipo per le vostre risposte

2009/2/12 Giampiero Z. [email protected]:

ciao a tutti
ho notato quanto segue:
stringa = “il tempo è bello”
p stringa
produce
“il tempo \350 bello”
sapete dirmi qual è il modo migliore, più semplice, di ovviare al
problema?

puts stringa funziona.

per quanto riguarda gli script: in genere si sconsiglia di usare
caratteri accentati nel codice (non è una questione di ruby, vale più
o meno per tutti i linguaggi); tuttavia, la soluzione è usare sempre e
comunque lo stesso encoding (io uso felicemente utf8 e non ho ancora
avuto problemi).

pietro

puts stringa funziona.

per quanto riguarda gli script: in genere si sconsiglia di usare
caratteri accentati nel codice (non � una questione di ruby, vale pi�
o meno per tutti i linguaggi); tuttavia, la soluzione � usare sempre e
comunque lo stesso encoding (io uso felicemente utf8 e non ho ancora
avuto problemi).

pietro
grazie Pietro
è vero puts stringa funziona
scusa l’ignoranza, ma cosa significa usare un encoding; si sta parlando
di un parametro di configurazione dell’ambie nte Ruby? se sì, come si
imposta?
grazie

Pietro G. wrote:

Il 12 febbraio 2009 12.26, Giampiero Z. [email protected] ha scritto:

pietro
cosa significa usare un encoding; si sta parlando di un parametro
di configurazione dell’ambie nte Ruby? se s�, come si imposta?

no, � una cosa che riguarda i file, le stringhe etc. e come vengono
scritte.

ti � mai capitato di vedere una pagina web in cui i caratteri
accentati, gli apici, etc. sono sostituiti da simboli strani?

questo accade quando viene dichiarato un formato ma ne viene usato un
altro.
sì capisco
quello che non capisco è: dove devo intervenire per specificare che
voglio usare utf8?

Il 12 febbraio 2009 12.26, Giampiero Z. [email protected] ha scritto:

pietro
cosa significa usare un encoding; si sta parlando di un parametro
di configurazione dell’ambie nte Ruby? se sì, come si imposta?

no, è una cosa che riguarda i file, le stringhe etc. e come vengono
scritte.

ti è mai capitato di vedere una pagina web in cui i caratteri
accentati, gli apici, etc. sono sostituiti da simboli strani?

questo accade quando viene dichiarato un formato ma ne viene usato un
altro.

Forse non c’entra ciò che sto per dirti però te lo dico lo stesso, io la
dichiarazione la faccio nel file database.yml:

development:
adapter: mysql
database: softwdb
username: root
password:
host: localhost
encoding: utf8

grazie a tutti per le risposte
provo a informarmi con qualche ricerca mirata su internet, ora che mi è
chiaro cosa devo ottenere

ad esempio

puts $KCODE
p “Questa è una stringa”
$KCODE = “UTF-8”
puts $KCODE
p “Questa è una stringa”

produce
NONE
“Questa \303\250 una stringa”
UTF8
“Questa è una stringa”

Luigi M. wrote:

Forse non c’entra ciò che sto per dirti però te lo dico lo stesso, io la
dichiarazione la faccio nel file database.yml:

development:
adapter: mysql
database: softwdb
username: root
password:
host: localhost
encoding: utf8

Si deve fare attenzione a conservare lo stesso encoding ovunque.

  1. Nel database, come mostrato dall’esempio di Luigi.

  2. Nelle pagine web, di solito mettendo nell’head

    in risposta al quale i browser convertiranno in utf-8 qualsiasi testo
    che gli utenti del sito inseriranno nei form.

  3. Nel tuo editor, quando scrivi stringhe con caratteri accentati.

  4. Nel tuo terminale, se ad esempio usi un client a command line per
    inserire dati nel db

  5. Nei dati che eventualmente importi nel db e che potrebbero avere
    encoding differenti.

  6. Mi sarò di sicuro dimenticato qualcosa :slight_smile:

Già che ci sono, l’encoding che in tanti usano senza neppure saperlo in
Windows è il Windows-1252 che non è mai stato standardizzato. Da quello
però è nato l’ISO-8859-1 (c’è qualche piccola differenza) che include i
caratteri delle lingue dell’Europa occidentale ed è molto usato sul web.
Meglio però usare l’ISO-8859-15 che include qualche lettera non nostra
che mancava nell’altro e soprattutto il carattere per l’Euro. Meglio
ancora usare UTF-8 che include tutti i caratteri del mondo e quindi non
taglia fuori nessuno.

Paolo