- Ruby 教程
- Ruby 简介
- Ruby 环境
- Ruby 安装 - Linux
- Ruby 安装 - Windows
- Ruby 中文编码
- Ruby 命令行选项
- Ruby 环境变量
- Ruby 语法
- Ruby 数据类型
- Ruby 类和对象
- Ruby 类案例
- Ruby 变量
- Ruby 运算符
- Ruby 注释
- Ruby 判断
- Ruby 循环
- Ruby 方法
- Ruby 块
- Ruby 模块(Module)
- Ruby 字符串(String)
- Ruby 数组(Array)
- Ruby 哈希(Hash)
- Ruby 日期 & 时间(Date & Time)
- Ruby 范围(Range)
- Ruby 迭代器
- Ruby 文件的输入与输出
- Ruby File 类和方法
- Ruby Dir 类和方法
- Ruby 异常
- Ruby 面向对象
- Ruby 正则表达式
- Ruby 数据库访问 - DBI 教程
- Ruby 连接 Mysql - MySql2
- Ruby CGI 编程
- Ruby CGI方法
- Ruby CGI Cookie
- Ruby CGI Session
- Ruby 发送邮件 - SMATP
- Ruby Socket 编程
- Ruby XML, XSLT 和 XPath 教程
- Ruby Web Service 应用 - SOAP4R
- Ruby 多线程
- Ruby JSON
- Ruby RubyGems
- Ruby DBI Read 操作
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 "你好,世界!";
输出结果为:
你好,世界!
所以如果大家再学习过程中,源代码文件中,若包含中文编码,则需要注意两点:
- 1. 必须在首行添加 # -*- coding: UTF-8 -*-,告诉解释器使用utf-8来解析源码。
- 2. 必须设置编辑器保存文件的编码为utf-8。
下一篇:Ruby 命令行选项