English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Codificação Chinesa do Ruby

Nas seções anteriores, já aprendemos como usar Ruby para imprimir "Hello, World!". O inglês não há problema, mas se você imprimir caracteres chineses "你好,世界", pode encontrar problemas de codificação de caracteres chineses.

Se não for especificado a codificação no arquivo Ruby, ocorrerá um erro durante a execução:

#!/usr/bin/ruby -w
puts "Olá, Mundo!";

O resultado de saída do programa acima é:

invalid multibyte char (US-(ASCII) 

A mensagem de erro acima mostra que o Ruby usa a codificação ASCII para ler o código-fonte, e os caracteres chineses aparecerão como caracteres estranhos, a solução é apenas adicionar no início do arquivo # -*- coding: UTF-8 -*-(Forma de escrita EMAC) ou #coding=utf-8 é suficiente.

Exemplo Online

#!/usr/bin/ruby -w
# -*- coding: UTF-8 -*-
puts "Olá, Mundo!";

O resultado de saída é:

Olá, Mundo!

Portanto, se alguém estiver aprendendo, no arquivo de código-fonte, se contiver codificação chinesa, então deve prestar atenção a dois pontos: