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

Ruby 중국어编码

앞章节에서 이미 Ruby로 "Hello, World!"를 출력하는 방법을 배웠습니다. 영어는 문제가 없지만 중국어 문자 "你好,世界"를 출력하면 중국어 인코딩 문제가 발생할 수 있습니다.

Ruby 파일에编码이 지정되지 않으면 실행 중 오류가 발생합니다:

#!/usr/bin/ruby -w
puts "안녕하세요, 세상!";

위의 프로그램 실행 결과는 다음과 같습니다:

invalid multibyte char (US-(ASCII) 

위의 오류 메시지는 Ruby가 ASCII编码으로 소스 코드를 읽는다고 보여주며, 중국어는 깨지게 됩니다. 해결 방법은 파일의 초-head에 추가하기만 하면 됩니다 # -*- coding: UTF-8 -*-(EMAC 작성법) 또는 #coding=utf-8 만들면 됩니다。

온라인 예제

#!/usr/bin/ruby -w
# -*- coding: UTF-8 -*-
puts "안녕하세요, 세상!";

출력 결과는 다음과 같습니다:

안녕하세요, 세상!

따라서 많은 사람들이 학습 과정에서 소스 코드 파일에 중국어编码이 포함되면 주의해야 할 두 가지 점이 있습니다:

  • 1최초 행에 추가해야 합니다 # -*- coding: UTF-8 -*-인터프리터가 utf를 사용하도록 알린다-8소스 코드를 해석하기 위해 사용됩니다。
  • 2editor가 파일을 저장할 때 utf编码을 설정해야 합니다-8。