答案 0 :(得分:1)
如果没有编码编译指示,Ruby(1.9及更高版本)将假定该文件中的所有文字字符串都应编码为ASCII。如果你想要文字字符串包含说UTF-8字符,你必须告诉Ruby你的源文件是UTF-8,否则这些字符串将被视为ASCII,并且某些字符将是乱码。
答案 1 :(得分:0)
当您想在源代码文件中使用非ASCII字符时,需要它。 more details.
答案 2 :(得分:0)
如果您需要与Ruby 1.9兼容并且您的文件包含UTF-8文字或注释,则需要编码编译指示。
如果你可以使用Ruby 2.x及以上并且不必与Ruby 1.9兼容,那么编码pragma可以省略,除非你的文件中的注释或文字在其他一些文件中不是UTF-8的高位ASCII或汉字编码。
Ruby 1.8完全忽略编码编译指示。