Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

PROBLEMAS NO ENCODING

Bom dia,

Já faz alguns dias que tento resolver esse problema e ainda não encontrei uma solução. Eis o problema: - Quando executo meu código no console e tento inserir algum caracter com acento (um nome acentuado, por exemplo, João ou Júlia) ocorre esse erro:

/RUBY/Fork/game.rb:10:in `new_game': incompatible character encodings: UTF-8 and CP850 (Encoding::CompatibilityError)

No inicio, pensei que poderia ser algum erro do Sublyme na hora de salvar o arquivo, mudando o encoding, mas o mesmo salva em UTF-8!

Tentei forçar o encoding utlizando:

# encoding: utf-8

e explicitando na string:

userName = gets.encoding

mas tenho esse retorno no console:

-> Qual o seu nome?
joão

Começaremos o jogo pra você, CP850!
...

Gostaria de saber se alguém teve esse mesmo problema, e como eu poderia proceder para contornar, ou mesmo resolver a situação!

Por sinal, aqui está o trecho do código:

...
def new_game
   puts "#{$LINE_DIVISOR}Bem vindo ao jogo da forca!\n-> Qual o seu nome?"
   userName = gets.encoding
   puts "\nComeçaremos o jogo pra você, #{userName}!"
...

Grato desde já!

3 respostas
solução!

Oi Daniel,

O método encoding só retorna o encoding dá variável e é isto que você está armazenando no userName.

É só atribuir o valor fazendo userName = gets.strip.

Abraço!

Estou passando pelo mesmo problema e o gets.strip não resolveu..

Alguém conseguiu resolver?