我想将一个rails应用程序从Ruby 1.8.7移植到1.9.2.有些文件在字符串和注释中包含ä/ö/ü等元音符.文件保存为UTF-8,但开头没有BOM(字节顺序标记).
您可能知道,Ruby 1.9拒绝解析这些文件,给出了一个invalid multibyte char (US-ASCII)
我在谷歌搜索和阅读很多,但唯一的解决方案似乎是
# coding: utf-8在每个文件的开头.
我选择的编辑器(gEdit)似乎没有插入BOM.我还读到有一个BOM是不好的做法,因为它可能会破坏一些编辑器,如果你想使用shebang符号,它也会破坏shell脚本.
编辑:BOM打破了Ruby 1.8.7解析器,syntax error, unexpected kEND, expecting $end (SyntaxError)为文件提供了一个!
我尝试使用ruby -Eutf-8强制外部编码:utf-8但是在调用rake时这似乎被忽略了(我试过:/home/malte/.rvm/gems/ruby-1.9.2-p180/bin/rake测试).
所以我的问题是:
由于RVM无论如何都是从源代码构建ruby 1.9,是否有构建选项或修补程序将默认编码从US-ASCII更改为UTF-8?
我快速查看了源代码,但找不到默认设置的行(我不是C专家,很难).
我想要一个功能,用HTML标签预览一些文本,然后将文本存储在数据库中.出于XSS安全原因,我知道在数据库中允许HTML不是一个好主意.有什么方法可以达到这个目的?
我想要一个类似于stackoverflow中的功能,我们可以格式化我们的源代码.谢谢.