|
32
|
| Leonid Shevtsov · 技术社区 · 15 年前 |
|
|
1
4
显式优于隐式。写出编码的名称对于文本编辑器、解释器和任何想查看该文件的人都是很好的。不同的平台有不同的默认值——UTF-8、Windows-1252、Windows-1251等——如果您自动选择其中一个平台,那么您将妨碍可移植性或平台集成。需要更明确的编码是一件好事。 将Rails应用程序与GetText集成可能是个好主意。然后,所有的UTF-8字符串将被隔离到少量的翻译文件中,您的Ruby模块将是干净的ASCII。 |
|
|
2
13
我想你也可以
|
|
|
3
12
在我看来,显性并不总是比隐性好。
当您使用的几乎所有源代码都与UTF-8兼容时,您可以通过使用Ruby轻松地避免放置神奇的编码注释。
不要混淆
然后,只在需要的脚本中设置magic编码注释。记住,约定胜过配置!
您可以设置环境变量
参见Ruby的命令行选项 http://www.manpagez.com/man/1/ruby/ . |
|
|
4
4
在Rails项目中,有一个gem可以在每个需要它的文件的顶部设置magic注释: https://github.com/m-ryan/magic_encoding
你只需安装并运行
|
|
|
5
3
这不是一个直接的答案,但根据您的编码环境,您可以让编辑器处理一些事情。Emacs
我相信其他编辑也有类似的东西。当然,这仍然意味着要为每个文件添加魔法注释,但至少编辑器会自动为您添加,而不必记住。 |
|
|
6
1
唯一的万无一失(而且是干的!)1.9确保所有文件(源文件和资产)在运行时使用首选编码加载的方法是使用-e命令行参数。
根据您的系统,所有其他方法都有缺点(例如,不可能设置env vars,首先加载的第三方代码不适合使用
我的生产服务器使用以下包装脚本:
(确保适应路径) |
|
|
7
0
我不会遇到这么多问题,但是当我需要确保UTF-8时,我使用$kcode global。尝试将其放入您的环境中。rb:
另外,您确定编辑器正在以UTF-8格式保存文件吗? |