Carattere e accentato


#1

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


#2

2009/2/12 Giampiero Z. removed_email_address@domain.invalid:

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


#3

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


#4

Pietro G. wrote:

Il 12 febbraio 2009 12.26, Giampiero Z. removed_email_address@domain.invalid 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?


#5

Il 12 febbraio 2009 12.26, Giampiero Z. removed_email_address@domain.invalid 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.


#6

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


#7

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


#8

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”


#9

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.
  1. Nel tuo editor, quando scrivi stringhe con caratteri accentati.

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

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

  4. 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.

http://en.wikipedia.org/wiki/Windows-1252
http://en.wikipedia.org/wiki/ISO_8859-1
http://en.wikipedia.org/wiki/UTF_8

Paolo