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 "你好,世界!";

サンプルを実行 »

出力結果は次のとおりです:

こんにちは、世界!

したがって、学習の過程でソースコードファイルに中国語のエンコーディングが含まれている場合は、次の2点に注意する必要があります:

  • 1. 最初の行に追加する必要があります# -*- coding: UTF-8 -*-、インタプリタにutf-8を使用してソースコードを解析するように指示します。
  • 2. エディタでファイルを保存する際のエンコーディングをutf-8に設定する必要があります。
  • その他の拡張