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

Ruby базовый курс

Ruby продвинутый курс

Китайская кодировка Ruby

В предыдущих главах мы уже изучили, как использовать Ruby для вывода "Hello, World!". Английский без проблем, но если вы выводите китайские символы "你好,世界", то можете столкнуться с проблемами кодировки китайского.

Если в файле Ruby не указана кодировка, в процессе выполнения会出现 ошибку:

#!/usr/bin/ruby -w
puts "Привет, мир!";

Результат выполнения программы:

invalid multibyte char (US-ASCII) 

Ошибка, указанная выше, показывает, что Ruby использует кодировку ASCII для чтения исходного кода, и китайские символы будут искажены. Решение проблемы - добавить в начало файла # -*- coding: UTF-8 -*-(EMAC стиль) или #coding=utf-8 всего.

Примеры онлайн

#!/usr/bin/ruby -w
# -*- coding: UTF-8 -*-
puts "Привет, мир!";

Результат вывода:

Привет, мир!

Таким образом, если в процессе обучения в файлах исходного кода содержится китайская кодировка, то需要注意 два момента: