Chinesische Zeichenkodierung in Ruby
In den vorherigen Kapiteln haben wir bereits gelernt, wie man mit Ruby "Hello, World!" ausgibt. Mit Englisch gibt es keine Probleme, aber wenn man die chinesischen Zeichen "hello,world" ausgibt, können chinesische Kodierungsprobleme auftreten.
Wenn die Kodierung in einer Ruby-Datei nicht angegeben ist, tritt bei der Ausführung ein Fehler auf:
#!/usr/bin/ruby -w puts "你好,世界!";
Die Ausführungsausgabe des obigen Programms ist:
invalid multibyte char (US-ASCII)
Die obige Fehlermeldung zeigt, dass Ruby ASCII-Kodierung verwendet, um den Quellcode zu lesen, und chinesische Zeichen werden verstümmelt angezeigt. Die Lösung besteht darin, Folgendes am Anfang der Datei hinzuzufügen:# -*- coding: UTF-8 -*-(Emacs-Stil) oder#coding=utf-8ist ausreichend.
Beispiel
Beispiel ausführen »
Die Ausgabe ist:
Hello, world!
Wenn Ihre Quellcodedatei während des Lernprozesses eine chinesische Kodierung enthält, müssen Sie daher zwei Punkte beachten:
- 1. Sie müssen in der ersten Zeile Folgendes hinzufügen:# -*- coding: UTF-8 -*-, was dem Interpreter mitteilt, utf-8 zum Parsen des Quellcodes zu verwenden.
- 2. Sie müssen den Editor so einstellen, dass die Datei mit der Kodierung utf-8 gespeichert wird. Andere Erweiterungen