Китайская кодировка в Ruby
В предыдущих главах мы уже узнали, как выводить "Hello, World!" с помощью Ruby. С английским проблем нет, но если вы выводите китайские символы "hello,world", вы можете столкнуться с проблемами китайской кодировки.
Если кодировка не указана в файле Ruby, во время выполнения возникнет ошибка:
#!/usr/bin/ruby -w puts "你好,世界!";
Результат выполнения вышеприведённой программы:
invalid multibyte char (US-ASCII)
Приведённое выше сообщение об ошибке показывает, что Ruby использует кодировку ASCII для чтения исходного кода, и китайские символы будут выглядеть искажёнными. Решение — добавить следующее в начало файла:# -*- coding: UTF-8 -*-(стиль Emacs) или#coding=utf-8достаточно.
Пример
#!/usr/bin/ruby -w
# -*- coding: UTF-8 -*-
puts "Hello, World!";
Запустить пример »
Вывод:
Hello, world!
Следовательно, если ваш файл исходного кода содержит китайскую кодировку в процессе обучения, нужно учитывать два момента:
- 1. Необходимо добавить в первой строке:# -*- coding: UTF-8 -*-, что указывает интерпретатору использовать utf-8 для разбора исходного кода.
- 2. Необходимо настроить редактор так, чтобы файл сохранялся в кодировке utf-8. Другие расширения