We all know the "magical"
# encoding: utf-8
line. But I've seen several other alternative notations, some of them pretty wild. Do you know or use any of those? Is there some more general rule of 开发者_StackOverflow中文版what is acceptable?
Edit: Ok, apparently there are exactly 3 ways:
# encoding: UTF-8
# coding: UTF-8
# -*- coding: UTF-8 -*-
(more at http://blog.grayproductions.net/articles/ruby_19s_three_default_encodings)
No, there are not "exactly 3 ways" to specify the 'magic comment' -- there are an infinite number of them. Any comment on the first line that contains coding:
will work, according to JEG2:
... the preferred way to set your source Encoding ... it's called a magic comment. If the first line of your code is a comment that includes the word coding, followed by a colon and space, and then an Encoding name, the source Encoding for that file is changed to the indicated Encoding.
So, any of these should work:
# coding: UTF-8
# encoding: UTF-8
# zencoding: UTF-8
# vocoding: UTF-8
# fun coding: UTF-8
# decoding: UTF-8
# 863280148705622662 coding: UTF-8 0072364213
# It was the night before Christmas and all through the house, not a creature was coding: UTF-8, not even with a mouse.
精彩评论