2015-08-09 14 views
7

Ricevo "codifiche di caratteri incompatibili: CP850 e UTF-8" quando si visualizza il simbolo £ nella mia app ramaze. Come posso sbarazzarmi di questo errore? Ho il meta tag UTF-8 nel mio tag head.Ricevo "codifiche di caratteri incompatibili: CP850 e UTF-8" quando si visualizza il simbolo £ sulla mia app ramaze

Accade quando digito il simbolo £ con la tastiera. Guarda.

encoding error

ho messo il seguente codice nel mio file ruby ​​e non ha risolto il problema.

# encoding: UTF-8 
Encoding.default_external = 'utf-8' 
Encoding.default_internal = Encoding::UTF_8 
+0

Perché qualcuno ha votato per chiudere questa domanda? – desbest

+0

Quindi hai già questo: '# codifica: UTF-8' in cima al tuo file ruby? –

+0

Per emulare il problema di codifica su qualsiasi sistema (o testare la correzione), è sufficiente impostare la codifica su qualcosa di diverso da UTF-8 quando si esegue Ruby: 'ruby -E US-ASCII my_script.rb' Prova questo e lascia conoscermi! –

risposta

4

cercare di forzare la codifica per vedere se questo fa il problema va via:

your_string.force_encoding(::Encoding::UTF_8) 

Se lo fa, tuffo nella vostra app e individuare ciò che è impostare la codifica sbagliata, dove e perché .

È probabile che sia correlato al server o alla pagina Web, poiché nella pagina che stai servendo viene reso come US-ASCII a causa di un'intestazione. Oppure il server viene avviato con la codifica diversa da UTF-8. O qualcos'altro in tal senso. Il tuo script finisce con un pezzo di dati esterni che non è UTF-8.

+0

La tua riga di codice non funziona. Ho provato questa risposta ma non ha funzionato perché non avevo la variabile 'LC_ALL' definita sul mio computer. http://stackoverflow.com/questions/5908774/set-global-default-encoding-for-ruby-1-9/17616076#17616076 – desbest

1

Problema di Windows? Provare a utilizzare Iconv:

Iconv.conv('utf-8', "WINDOWS-1253", X)

Problemi correlati