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

Erro: invalid multibyte char (US-ASCII)

Olá, eu terminei o primeiro curso de lógica de programação e durante o mesmo tive o seguinte erro quando colocava caracteres especiais no meu programa:

maior_ou_menor.rb:20: invalid multibyte char (US-ASCII) maior_ou_menor.rb:20: invalid multibyte char (US-ASCII)

Isso acontece porque meu Ubuntu está em inglês? Teria como resolver isso?

Obrigado.

2 respostas
solução!

Você está começando e já enfrentando uma das maiores dores dos programadores: encoding.

Por algum motivo o ruby está tratando o seu código fonte como ASCII mas provavelmente você está usando um editor moderno que o default é UTF-8 (é bom isso).

Você pode ir, no topo do seu arquivo, e forçar esse aviso:

#!/bin/env ruby
# encoding: utf-8

aqui comeca seu codigo....

Não conheço ruby direito, mas na versão 2 em diante ele deveria considerar UTF-8 como default. Ele deve estar pegando alguma variável de ambiente dizendo que é ASCII. Você pode digitar set na linha de comando e ver o que tem nas variáveis LCxxxx.

Obrigado, Paulo! Resolveu com o código que você passou.

Estranho que eu olhei a variável que você disse e está como UTF-8.

LANG=en_GB.UTF-8 LANGUAGE=en_GB.UTF-8 LC_ALL=en_GB.UTF-8 LC_NUMERIC=en_GB.UTF-8

Estranho isso.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software